我有一個文件,我需要拆分爲多個文件,並且需要通過單獨的開始和結束分隔符完成。根據不同的起始和結束分隔符將文件拆分爲多個文件
例如,如果我有以下文件:
abcdef
START
ghijklm
nopqrst
END
uvwxyz
START
abcdef
ghijklm
nopqrs
END
START
tuvwxyz
END
我需要3個單獨的文件:
file1的
START
ghijklm
nopqrst
END
file2的
START
abcdef
ghijklm
nopqrs
END
file3的
START
tuvwxyz
END
我發現了this鏈接,顯示瞭如何使用起始分隔符做到這一點,但我也需要結尾分隔符。我已經試過這在awk命令中使用一些正則表達式,但沒有得到我想要的結果。我不太明白如何讓awk變得「懶惰」或「非貪婪」,這樣我就可以正確地拉開文件。
我真的很喜歡awk解決方案。類似的事情將是太棒了(我在這裏重新發布的解決方案,使您不必通過點擊:
awk '/DELIMITER_HERE/{n++}{print >"out" n ".txt" }' input_file.txt
任何幫助表示讚賞
我喜歡這個解決方案最好。它對我來說非常合適,而且我只需要在命令中輸入一次分隔符(分隔符要比實例中使用的START和END分隔符長得多)。謝謝。 – jasonmclose
不客氣,很高興它解決了。 – anubhava