我有一个文本文件,中间某处有一个标记:
one
two
three
blah-blah *MARKER* blah-blah
four
five
six
...
我只需要将这个文件分成两个文件,第一个包含 MARKER 之前的所有内容,第二个包含 MARKER 之后的所有内容。它似乎可以用 awk 或 sed 在一行中完成,我只是不知道如何做。
我尝试了简单的方法——使用 csplit
, 但 csplit 不能很好地处理 Unicode 文本。
最佳答案
你可以用awk轻松做到这一点
awk -vRS="MARKER" '{print $0>NR".txt"}' file
关于bash - 使用 bash 脚本将文本文件一分为二,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3644238/