输入文件是这样的:
Scene
some
text
...
Scene
some
more
text
我希望能够在每个“场景”之间打印文本(通过打印 $0、$1 等。就像 cut -d -f 那样)。
我使用 awk 尝试了很多东西,但我不明白如何让它工作。
awk -F '^Scene' '{print $1}' file
打印整个文件,
awk '/^Scène/{ print $1 } file'
打印它在文件中找到的所有 Scene
。
我想我无法理解 awk 的逻辑。
最佳答案
使用 gnu awk 可以设置自定义记录分隔符:
awk -v RS='Scene[[:space:]]*' 'NF' file
some
text
...
some
more
text
-v RS='Scene[[:space:]]*'
会将输入记录分隔符设置为Scene
后跟可选的空格。
关于linux - 整个文件中的awk定界符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40574395/