1つのコマンドで多数の単語を削除する

1つのコマンドで多数の単語を削除する

次のリンクがたくさんあります。

https://content.example.net/skin/frontend/2015/default/fonts/test.ttf
https://content.example.net/skin/frontend/2015/default/img/test.svg
https://content.example.net/skin/frontend/2015/default/fonts/test.eot
https://content.example.net/skin/forntend/2015/default/js/test.js

URLにCSS、jpg、svg、png、ttfなどのテキストを含むファイルからリンクを削除する方法

今、次のようなものを使用してください

cat url.txt | sed '/png/d'  | sed '/jpg/d' | sed '/svg/d' | ...etc 

この作業には時間と労力がかかります。

これは一晩で行うことができますか?

ベストアンサー1

正規表現に「OR」構文を使用できます。

sed -E '/png|jpg|svg/d' url.txt

両方のパターンのいずれかを含むすべての行が削除されます。パターンがファイル拡張子であることを確認したい場合は、パターンが表示されることを確認してください行末で、正規表現にアンカーを含めることができます。

sed -E '/(png|jpg|svg)$/d' url.txt

catところで、ファイルをに入れる必要はありませんsed。自分ですべてを読んでください。

おすすめ記事