sed/awkメモ: cut コマンドでデリミタ区切りの文字列を扱う

Linux に付属している cut コマンドを使用すると、任意のデリミタ文字で区切られたテキストから、指定した位置のフィールドだけを簡単に抜き出すことができます。

例: デリミタ文字をセミコロン (:) とし、2番目以降のフィールドを出力
$ cut -d ':' -f 2- input.txt

cut コマンドは標準入力からの入力を扱うこともできるので、以下のようにすることもできます。

$ cat input.txt | cut -d ':' -f 2-

出力フィールドの位置は -f オプションを使って以下のように指定することができます。

  • -f 2 … 2 番目のフィールドを表示
  • -f 2,3,4 … 2、3、4 番目のフィールドを表示
  • -f 2- … 2 番目以降のフィールドを表示
  • -f 2-5 … 2~5番目のフィールドを表示