LoginSignup
6
9

More than 5 years have passed since last update.

よく使うawkコマンドまとめ

Last updated at Posted at 2016-02-02

これってなんぞ

僕は記憶力がよろしくないので、awkのコマンドをここにメモしていきます。

変数の取り扱い

\$0 = 行全体
\$1 = 1列目
という順に続く。

抽出

列名だけ指定

cat data.txt | awk '{print $1, $2, $4}' > hogehoge.txt

条件付き

第n列がm以上のときを抽出

n = 3, m = 10とする。
cat data.txt | awk '$3 > 10 {print}' > hogehoge.txt

最大値・最小値

第3列における例として。

  • 最大値
    cat data.txt | awk '{if(m<$3) m=$3} END{print m}'

  • 最小値
    cat data.txt | awk 'BEGIN{m=100000}{if(m>$3) m=$3} END{print m}'

重複

重複行を削除

cat data.txt | awk 'before != $0 {print; before = $0}' > hogehoge.txt

第n列と第m列で重複している行を削除

cat data.txt| awk '$1!=$2{print}' > hogehoge.txt

UNIXtimeから日付へ変換

またしても第3列をいじる。
cat data.txt | awk '{print $1, $2, strftime("%Y-%m-%d",$3)}' > hogehoge.txt
ちなみに、今回は、日付に関して年月日にしたが、時間とかも書きたければ
%Y-%m-%d %H:%M:%S
とかにすればOK。

6
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
9