テキストファイルにURLリストがあるとしましょう。
google.com/funny
unix.stackexchange.com/questions
isuckatunix.com/ireallydo
「.com」以降のすべてのエントリを削除したいです。
予想される結果:
google.com
unix.stackexchange.com
isuckatunix.com
頑張った
sed 's/.com*//' file.txt
しかし、それも.com
削除された。
ベストアンサー1
「.com」の後のすべてのエントリを明示的に削除するには、既存のsedソリューションを調整して「.com(anything)」を「.com」に置き換えます。
sed 's/\.com.*/.com/' file.txt
最初のピリオドから外れるように正規表現を調整しました。それ以外の場合は、「thisiscommon.com/something」と一致します。
「sub.com.domain.com/foo」などのアイテムを誤って切り捨てないように、「.com」パターンを後ろにスラッシュで固定します。
sed 's/\.com\/.*/.com/' file.txt