如何删除文本文件中不以字符开头的所有行#
,&
或者*
?我正在寻找使用sed
or的解决方案grep
。
问问题
5785 次
3 回答
6
删除行:
和grep
来自http://lowfatlinux.com/linux-grep.html:
grep命令从文件(或一堆文件)中选择并打印与模式匹配的行。
我认为你可以这样做:
grep -v '^[\#\&\*]' yourFile.txt > output.txt
你也可以sed
用来做同样的事情(检查http://lowfatlinux.com/linux-sed.html):
sed '^[\#\&\*]/d' yourFile.txt > output.txt
由您决定
过滤线:
我的错误,我知道您想删除这些行。但是,如果您想“删除”所有其他行(或过滤以指定字符开头的行),那么grep
方法就是:
grep '^[\#\&\*]' yourFile.txt > output.txt
于 2013-04-04T22:44:07.437 回答
3
sed -n '/^[#&*].*/p' input.txt > output.txt
这应该有效。
sed -ni '/^[#&*].*/p' input.txt
这个会直接编辑输入文件,小心+
于 2013-04-05T10:15:58.157 回答
2
egrep '^(&|#|\*)' input.txt > output.txt
于 2013-04-04T22:45:56.793 回答