AWK は入力データを 1 行ずつ読み込み処理します。私のデータには独自の行定義があります。したがって、定義された文字または単語を行末として処理するようにAWKを設定することができます。
オプションと同様に、フィールド区切り-F
文字を定義します。同様に、行区切り文字も定義できます。
注:可能であれば、grepや他の同様のLinuxユーティリティにも同様に適用されます。
答え1
AWK は入力データを 1 行ずつ読み込み処理します。
より正確には、awkの読み取りとプロセスです。記録- デフォルト記録区切り記号 RS
まさに改行文字です。
このスイッチに-F
対応する直接コマンドラインはありません(修正と同じ)。フィールド区切り記号内部変数ですFS
が、代替レコード区切り文字を直接変更して指定できますRS
。これは通常開始ブロックで行われます。
awk 'BEGIN{RS='@'} ... '
-v
または、変数を使用してコマンドラインを介してオプションを渡します。
awk -v RS='@' ' ... '
GNU Awkユーザーガイドの次のセクションも参照してください。
awkのGNU実装に固有のものですが、ガイドでは、動作が実装に依存する点について説明します。特に、すべての実装が正規表現の使用をサポートしているわけではありませんRS
(実際にはPOSIX仕様単一文字区切り文字のみが提供されます。