Ser*_*lev 7 bash awk text split sed
我有一个文本文件,中间有一个标记:
one
two
three
blah-blah *MARKER* blah-blah
four
five
six
...
Run Code Online (Sandbox Code Playgroud)
我只需要将这个文件分成两个文件,第一个包含MARKER之前的所有文件,第二个包含MARKER之后的所有文件.看来它可以用awk或sed在一行中完成,我只是无法弄清楚如何.
我尝试了简单的方法 - 使用csplit,但csplit与Unicode文本不兼容.
gho*_*g74 10
你可以用awk轻松完成
awk -vRS="MARKER" '{print $0>NR".txt"}' file
Run Code Online (Sandbox Code Playgroud)
试试这个:
awk '/MARKER/{n++}{print >"out" n ".txt" }' final.txt
Run Code Online (Sandbox Code Playgroud)
它将从final.txt读取输入并生成out1.txt,out2.txt等...