便利なフィルタコマンド覚え書き

  • head
    標準入力の先頭数行を表示
    -n <数字> : 指定した行数を出力

  • tail
    標準入力の末尾数行を出力
    -n <数字> : 指定した行数を出力
    -f <ファイル名> : 指定したファイルにリダイレクトで追記(>>)があるとリアルタイムで表示

  • grep
    指定した検索パタンに一致する行を出力
    -n:行番号付きで結果を出力
    -i:大文字・小文字を区別せずに検索
    -v:一致しなかった行を出力
    -o:一致した部分のみを表示

  • sort
    入力をアルファベット順に並び替える
    -n:数字順に並び替える
    -k <数字>:<数字>番目のフィールドをソートに用いる
    -r:逆順にソート

  • tac
    入力を逆順に出力する

  • wc
    行数・単語数・バイト数を出力する
    -l:行数のみ出力
    -w:単語数のみ出力
    -c:バイト数のみ出力

  • uniq
    入力から、隣り合った重複する行を取り除いて出力
    -c:重複がいくつあるか数えて表示

  • cut -d <区切り文字> -f <フィールド番号> <ファイル名>
    <区切り文字>で指定した文字で入力を分割し、<フィールド番号>で指定したフィールドの内容だけを出力
    環境変数 $PATH のうち10個目を表示
$ echo $PATH | cut -d : -f 10  
/usr/local/games

  • tr<文字(置換元)> <文字(置換先)>
    入力の特定の文字を置き換える
    例 入力をすべて大文字にする$ tr a-z A-Z
    例2 アルファベットをすべて伏せ字にする
$ ls | tr A-z '*'
*******
*********
*********
*******
********.*******
******

-d <文字> : 指定した文字を削除


  • diff <比較元> <比較先>
    ファイルの差分を表示
    差分がない場合は何も表示しない