sedの&101冊のハッキングの研究ノートをawkは-awk

awkは、テキストデータファイル、強力なプログラミング言語の維持及び処理です。
特定の形式のテキストデータ、すなわち、データの各行は、境界で区切られた特に有用に複数のフィールドが含まれている場合。

awkの基本的な文法:
Awkの-Fs「} {」コマンド入力ファイルの
フィールド区切り文字として-F。指定しない場合、デフォルトでは区切り文字としてスペースを使用します

典型的なawkプログラムは、次の3つの領域を含みます。

  1. BEGINの領域は、
    地域を開始します。構文:当初はawkコマンドの実行ボディ領域の前に一度だけ実行コマンド領域をBEGIN {awkは、コマンドを} BEGIN。パケットヘッダ情報を印刷するために非常に適した領域を開始し、変数を初期化するために使用されます。エリアは首都キーワードを使用しなければならないフィールドをBEGIN BEGIN一つ以上のawkコマンドを有していても良いBEGINはオプションです
  2. ボディ領域
    構文ボディ領域:/パターン/ {アクション}ボディ領域は、入力ファイルからの各コマンドラインを読み取る入力ファイルがコマンドボディ領域10(1行に1つずつ実行する行10を有している場合に実行されます実行は1回)ボディ領域のみを任意のキーワードで通常モードとコマンドで表現されていません。
  3. ENDブロック
    構文END領域:END {AWK-コマンド} END領域AWKすべての操作を行い、一度だけ実行された後。END領域は、ファイル情報の終わりを印刷新聞に非常に適しているだけでなく、いくつかのクリーンアップアクションEND領域がキーワードENDを一つ以上のawkコマンドを有していてもよく行うために、大文字ENDフィールドを使用しなければならないオプションです

それは、フィールドの区切り文字を複数含むファイルを検出すると、心配しないで、FSは扱うことができます。あなたはこのようなFSのような複数のフィールド区切りを指定する正規表現を使用することができます=「[、:%] 」 :パーセントまたは%指定されたフィールドの区切り文字はカンマやセミコロンをすることができます。
AWK '{ "[FS = BEGIN :%]"} {$ 3 $ 2印刷}'従業員複数fs.txt

OFS - 出力フィールドセパレータ

{$ 2、$ 3印刷} 'employee.txt:AWK -F ''' { "" OFS =を} BEGIN

また、注意してくださいそのprint文操作

おすすめ

転載: blog.csdn.net/oTobias/article/details/102542273