当前位置: 技术问答>linux和unix
sed命令删除多行数据
来源: 互联网 发布时间:2017-02-28
本文导语: 假设一个文件test中含有: aa aaa aaaa bb bbb bbbb cc ccc cccc 以上内容,使用sed命令删除其中的含有aa和bbb的行。 追问:假设test文件非常大,达到上G的容量,而需要删除的数据量又有几万条数据。 所以我想请问下大家...
假设一个文件test中含有:
aa aaa aaaa
bb bbb bbbb
cc ccc cccc
以上内容,使用sed命令删除其中的含有aa和bbb的行。
追问:假设test文件非常大,达到上G的容量,而需要删除的数据量又有几万条数据。
所以我想请问下大家有什么好的解决方案没有,如果使用sed或者shell脚本的话应该怎么写。
谢谢!
aa aaa aaaa
bb bbb bbbb
cc ccc cccc
以上内容,使用sed命令删除其中的含有aa和bbb的行。
追问:假设test文件非常大,达到上G的容量,而需要删除的数据量又有几万条数据。
所以我想请问下大家有什么好的解决方案没有,如果使用sed或者shell脚本的话应该怎么写。
谢谢!
|
楼主有没有试过?
sed -e '/aa/d' -e'/bbb/d' test > test.new
mv test.new test
这个是剔除指定的内容后追加写入test.new
sed -e '/aa/d' -e'/bbb/d' test > test.new
mv test.new test
这个是剔除指定的内容后追加写入test.new
|
这个应该可以的
|
sed -i '/aa/{d;b};/bbb/d' test
LZ试试这个,减少1次比较,用b跳出
LZ试试这个,减少1次比较,用b跳出
|
这个很明显可以。
|
sed -i -e '/aa/d' -e '/bbb/d' test