Screaming Loud

日々是精進

今日のawkコマンド 最初or 最後のフィールドの値のみ除外

以下のようなファイルがあった時、先頭の数値のみ取り除きたいときのawkコマンド

$ cat a.txt
1 ls
2 touch test
3 test
4 echo "hoge hoge" > test

こんな場合、$0と代入を組み合わせるとできる!

# 最初のフィールドを除外する場合
$ awk '{$1="";print $0}' a.txt

# 最後のフィールドを除外する場合
$ awk '{$NF="";print $0}' a.txt

$0 :すべて出力
$NF;最後の要素(NFはその行のフィールド数)

これで、history履歴や単語カウントの整形もさっくり!