渋いコマンド使ってちょっとドヤ顔( ・´ー・`)してやろうぜ

初めまして、伊藤(@kur_neko)と申します。

クリスマスですね。この記事はueqareerアドベントカレンダーの24日目の記事です。

今日は知っているとちょっと便利かもしれない渋いlinuxコマンドをいくつか紹介しようと思います。

あまり見慣れないコマンド達だと思いますので、便利に使ってくれればと思います。

知ってると便利かもしれない渋いコマンド達

tac

catコマンドって知ってますでしょうか。catはファイルの中身表示するコマンドです。

tacはどんなコマンドかというと…!

逆向きに表示してくれるコマンドなのです!

よく見てみたらこのコマンド

ユニークかつ渋いコマンドです。

comm

commコマンドは2つのファイルのうち、片方にしか無い行や共通している行のみを表示できたりするコマンドです。

例えばこんなファイルを用意します。

それをcommコマンドに読み込ませると

なんとこのようにnum1.txtにしかない行、num2.txtにしかない行、共通している行に分けてくれるのです。

オプションに不要な行を指定すると下記のように共通している部分のみを取り出せてしまうんです。

ただし、このコマンドはファイルがsortされていることが前提なので、sortしてないファイルは事前にsortして上げる必要があります。こんな感じで読み込ませて上げたら良いですね。

渋い!

install

install…名前から聞くとなにかをinstallしてくるコマンドのように見えますが、じつはこれ、ファイルやディレクトリを作成するコマンドなんです。

なんとこのファイル、既存のディレクトリがあった場合は権限等を上書きするだけなので、冪等性があるコマンドなのです。

ansibleやitamaeなどのプロビジョニングツールでよく使うコマンドです。渋い!

paste

こちらのpasteコマンド、名前から想像すると何かクリップボードの中身をコピーするコマンドのような感じがしますが

このコマンドは水平方向にファイルを結合してくれるコマンドなのです。

試しに先程のcommコマンドの時に使ったnum1.txt ,num2.txtをつかって見ます。

わかりましたでしょうか。なんとも渋いコマンドだ…

いくつかのサーバのアクセスログをサーバごとに一列づつpasteコマンドで組み合わせて見やすいアクセスログを作成したりしてました。

最後に

これらのコマンドは知ってればちょっと楽になるかもしれないような渋いコマンド達なので

すっとコマンドをつかって「え?知らないの?このコマンド?( ・´ー・`)」みたいな感じでドヤれるかもしれないですね。

(ドヤってみんな知っても怒らないでくださいね。)

他にも便利なオプションがあるので詳しくはman <コマンド名>を実行してもらえれば良いと思います。

以上、ありがとうございました!良いクリスマスを!( ・´ー・`)