2016-11-13 18 views
0

入力ファイルは次のようである:awkの区切り文字は、ファイル全体で

Scene 
some 
text 
... 
Scene 
some 
more 
text 

と私はカットのようになど$ 0、$ 1、...印刷して(各「シーン」の間にテキストを印刷できるようにしたいです - d -fはやります)。
私はawkを使って多くのことを試みましたが、それを動作させる方法を理解していません。
awk -F '^Scene' '{print $1}' fileはファイル全体を表示します。
awk '/^Scène/{ print $1 } file'はすべてファイル内にあるSceneを出力します。
私はawkでロジックを理解できないと思います。

答えて

1

使用ヌーは、カスタムレコードセパレータを設定することができますawkは:

awk -v RS='Scene[[:space:]]*' 'NF' file 

some 
text 
... 


some 
more 
text 
  • -v RS='Scene[[:space:]]*'は、オプションのホワイトスペースが続くSceneとして入力レコードセパレータを設定します。
+0

3つの異なるフィールドではなく、「もう少しのテキスト」を1つのフィールドにします。 –

+0

ok私の更新された答えを確認してください。 – anubhava

+1

はい、それは公正な点Edです。 – anubhava

関連する問題