
URLのリストがあり、その一部は画像を指しています。
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