输入文件是这样的:
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的逻辑。
答案 0 :(得分:1)
使用gnu awk可以设置自定义记录分隔符:
awk -v RS='Scene[[:space:]]*' 'NF' file
some
text
...
some
more
text
-v RS='Scene[[:space:]]*'
会将输入记录分隔符设置为Scene
,后跟可选的空格。