我有一堆以下格式的文件。
一个.txt:
some text1
more text2
XXX
more text
....
XXX
.
.
XXX
still more text
text again
每个文件至少有 3 行以XXX
. 现在,对于每个文件,A.txt
我想将所有行写入到 file 的第 3 次出现XXX
(在上面的示例中是直到前一行still more text
)A_modified.txt
。
我想在 bash 中执行此操作,并想出grep -n -m 3 -w "^XXX$" * | cut -d: -f2
在每个文件中获取相应的行号。
是否可以head
与这些行号一起使用来生成所需的输出?
PS:我知道一个简单的 python 脚本可以完成这项工作,但我试图在这个 bash 中做没有特定的原因。