我有一个网址列表,其中一些指向图像:
http://s.thebrighttag.com/iframe?c=A5lqOqP
http://s.wordpress.com/imgpress?resize=136,136&url=http%3A%2F%2Fdata.whicdn.com%2Fimages%2F2833524%2F4thofJuly-collage_large.jpg%3F1278084193
如何从文件中删除这些行?
答案1
cat file | grep -v "\.png" >new_file_without_pngs
更新评论:
egrep -iv "\.(png|jpg|jpeg|gif|etc)" file >new_file
答案2
对于就地编辑变体,您可以使用sed
如下所示:
$ sed -i -r 's/.*\.(png|jpg).*//I' file
它将删除文件中包含.png
或直接包含的行。传递给的选项.jpg
意味着“就地编辑”。在执行此命令之前先备份您的文件,或者如果您不确定,请先尝试不使用该选项。-i
sed
-i
该I
标志用于执行不区分大小写的匹配。
答案3
您可以在 Ex 模式下使用 Vim:
ex -sc 'g/\.png/d' -cx file
g
全局搜索d
删除x
保存并关闭
答案4
如果你有sponge
您可以像这样交换文件的内容:
grep -E -iv "\.(png|jpg|jpeg|gif)" file | sponge file