2014/07/15

linux awk

ファイルを行ベースで読み込んで、ディフォルトにスペースを使ってその
行をsplitする

awk '{pattern + action}' {filename}
 -F フィルド分割用
 

cat /etc/passwd | awk -F ':' '{print $1}'
=>etc/passwdのアカウントだけ
cat /etc/passwd | awk -F ':' '{print $1"\t"$7}'

・header,tailerを出力
cat /etc/passwd | awk -F ':' 'Begin {print "name,shell"} {print $1"\t"$7} {print "blue,/bin/nosh"}'

・awk -F: '/root/' /etc/passwd
==>rootを含める行を出力する