linux awkコマンド使用の心得-ベースコマンド
このツールは、テキストファイルを行ごとに読み込み、読み込みテキストをスライス(デフォルトはスペースで区切られています)した後、次の行を読み込み、使用できます.フォーマットレポート生成ツールで、テキストを処理します.
現在、linuxで使用されているawkはgawk(オープンソースawk)で、awkと略記されています.
使用方法:
参照すると、各行は$1から始まり、$0は現在の行で、改行で行が終わります
一般的にはawk'{print$1}'ファイル
常用options:
-F:指定フィールド区切りawk-F:'{print$1}'/etc/passwd
-v:変数に初期値を割り当てる
print関数:
印刷内容、改行付き
printf関数:
改行なしで印刷内容をフォーマットするには、次のフォーマットが必要です.
awk'{printf"フォーマット"$1}'ファイル
フォーマットは次のとおりです.
%で始まる
修飾子
例
出力リダイレクト
Print items > output-file
Print items >> output-file
Print items | command
特殊ファイル記述子
/dev/stdin:標準入力
/dev/stdout標準出力
/dev/stderr:エラー出力
/dev/fd/N特定のファイル記述子、例えば/dev/stdinは/dev/fd/0に相当する
例:
現在、linuxで使用されているawkはgawk(オープンソースawk)で、awkと略記されています.
使用方法:
#awk [options] 'script' file,file2,…
#awk [options] 'PATTERN {action }' filelist
参照すると、各行は$1から始まり、$0は現在の行で、改行で行が終わります
一般的にはawk'{print$1}'ファイル
常用options:
-F:指定フィールド区切りawk-F:'{print$1}'/etc/passwd
-v:変数に初期値を割り当てる
print関数:
印刷内容、改行付き
printf関数:
改行なしで印刷内容をフォーマットするには、次のフォーマットが必要です.
awk'{printf"フォーマット"$1}'ファイル
フォーマットは次のとおりです.
%で始まる
%c ASCII
%d,%i:
%e,%E
%g,%G
%f
%u
%% %
%s
修飾子
N , %10s, 10 ,
-: ,
+:
例
linux1:/home/test #awk '{printf "%-15s %i
",$1,$2}' 1
welcome 0
hello 0
出力リダイレクト
Print items > output-file
Print items >> output-file
Print items | command
特殊ファイル記述子
/dev/stdin:標準入力
/dev/stdout標準出力
/dev/stderr:エラー出力
/dev/fd/N特定のファイル記述子、例えば/dev/stdinは/dev/fd/0に相当する
例:
linux1:/home # awk -F: '{printf "%-15s %i
",$1,$3>"/dev/stderr"}' /etc/passwd
root 0
bin 1
daemon 2
lp 4
mail 8
games 12
wwwrun 30
ftp 40
nobody 65534