これってなんぞ
僕は記憶力がよろしくないので、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。