awk
、grep
、sed
ですlinux
テキストを操作するだけでなく、習得しなければならない3つの武器linux
コマンドを1つ。3つの関数がテキストで作業しているが、焦点がある、異なっているawk
最も強力なだけでなく、最も複雑。grep
それとも単に、一致したテキストのためのより適切な見つけることはsed
、編集に一致するテキストに適しているawk
フォーマットされたテキストに適している、テキストは、より複雑な書式です。
以下の実験出力のすべて、テストファイルのあるtest.log
ベンチマークとしてのコンテンツ:
20170102 admin,password Open 20170801 nmask,nmask close 20180902 nm4k,test filter
AWK
テキストファイルを処理する言語は、テキスト分析が強力なツールです。 awk
分割数として表示されている、$0
すべての列を表し、$1
最初の列、$2
2列目。
awkのパラメータ
-F
以下のようなセパレータオフ、入力ファイルの指定、-F
:-v
など、ユーザ定義の変数を割り当てます-va=1
-f
スクリプトファイルからの読み込みawk
コマンド
注:唯一の最も一般的なパラメータを示します
分離機
行スペースで各列を分割し、第1及び第3の列を出力します。
Awkの$ '$ {印刷1 ,. 3。} $ ' test.log
#または $ CAT test.log | awkの'{1つの印刷$、$} 3 '
カスタム区切り文字
使用「」セグメンテーション、パラメータ-F
AWK -Fは、'{$ 1、$ 2印刷} test.log'を
セパレータは、複数の第一の空間を分割し、その結果の再利用を分割「」スプリット
AWK -F $ '[] ' '1 {$、$ 2、$を印刷}。3 ' test.logがコンマノート#前にスペースを有します