Awkでログファイルを集計
Awkでログファイルを集計したいときに使います
最初の行を取得
awk 'NR == 1' aa.log
最終行を取得
awk 'END {print}' aa.log
該当行をカウントする
awk '$8>0{count++} END {print count}' a.log'
列を合計する
echo -n "si total: " >> ${mylog}
SIALL=`awk '{m+=$8} END{print m}' ${myfile}`
echo $((SIALL/1000)) MB >> ${mylog}
ログファイルの該当行を抜き出す
awk '$8 == "si" {print $0}' aaa.log
ログファイルから必要な日時を取り出す
cat test.csv | awk '$1 ~ /20151214/ {print}'
ログファイルに行番号をつけて出力
cat test.csv | awk '$1 ~ /20151214/ {print NR "\t" $0}'
ログファイルの指定行を抜き出し
awk 'NR==103240, NR==225590 {print $0}' test.csv > aa.txt
ログファイルの指定行番号のみ吐かせる
出力
cat test.csv | awk '$1
~ /20151214/
{print NR "\t" }'
Awkでsplitと同じことをする
echo 'aaa,bbb,ccc' | awk '
{n=split($0, array, ",")}
END{print n, array[n]}'
Author And Source
この問題について(Awkでログファイルを集計), 我々は、より多くの情報をここで見つけました https://qiita.com/okiami123/items/22032e306bcb126d32e2著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .