我用sed把一个文件一分为二
我有一个具有自定义分隔符“/-sep-/”的文件,我想在分隔符所在的位置拆分该文件
目前我有:
sed -n '1,/-sep-/ {p}' /export/data.temp > /export/data.sql.md5
sed -n '/-sep-/,$ {p}' /export/data.temp > /export/data.sql
但是文件1在末尾包含/-sep-/并且文件2以/-sep开头-/
我该怎么办?
注意,在文件1上,我应该删除一个换行符和/-sep-/在文件2上,删除/-sep-/和一个换行符:s
最佳答案
反转:告诉它不要打印什么。
sed '/-sep-/Q' /export/data.temp > /export/data.sql.md5
sed '1,/-sep-/d'/export/data.temp > /export/data.sql
(关于那条断线,我不明白。示例输入可能会有所帮助。)
顺便说一下,您的原始代码只需要少量的添加就可以完成您想要的任务:
sed -n '1,/-sep-/{/-sep-/!p}' /export/data.temp > /export/data.sql.md5
sed -n '/-sep-/,${/-sep-/!p}' /export/data.temp > /export/data.sql
关于linux - Linux文件分割,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6999922/