我有一堆我需要清理的文件。 我需要删除线等于什么(该行也应该被移除)以下的所有行。
我怎样才能做到这在bash?
我只是需要如何删除线的例子,我可以循环所有的文件我自己。
我有一堆我需要清理的文件。 我需要删除线等于什么(该行也应该被移除)以下的所有行。
我怎样才能做到这在bash?
我只是需要如何删除线的例子,我可以循环所有的文件我自己。
简单的方法就是告诉SED时,看到其退出。
sed -n '/xxxxxxx/q;p' input.txt
您可以使用Perl:
perl -i.bak -pe 'exit if /xxxxxxx/' filename.txt ...
这将在地方替换文件。
“sed的”是做最简单的方法,但如果你有一点更复杂的要求,您还可以使用“AWK”。
对于这种特殊的情况下,创建一个文件“foo.awk”有以下内容:
{
if ($0 == "xxxxxx")
exit
else
print $0
}
和从壳调用以下命令:
awk -f foo.awk $FILE_NAME