
私のデータは、「空白」または「空白の後に新しい行が続く」または「新しい行」で区切られます。後処理のために awk スクリプトを作成しています。この場合、FSをどのように定義する必要がありますか?これが私が今まで得たものです。
BEGIN {
print "This is post processed data";
RS="#";
FS="[ \n| |\n]";
}
{
print $2 $4 $6 ;
}
しかし、これはうまくいきません。ここで文法を修正できる人はいますか?
答え1
正規表現で代替を指定するには、リストを括弧で囲む必要があります(
)
。
したがって、あなたのFS
行は次のようになります。
FS="( \n| |\n)";
文字クラスを定義するときは、括弧を使用してください[
]
(例:すべての偶数:)[02468]
。
あなたの言葉はほぼ正しいです。