grepコマンドを使用して、リストから特定のURLエントリ(ドメイン名ではなくIPを使用)を除外したいと思います。特にhttps://
。:80
https://
:8080
私のgrepコマンドは次のとおりです
egrep -v "https://[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}:80"
:80
除外せずにgrepを強制的に除外する方法:8080
入力ファイルの内容の例は次のとおりです。
http://10.10.46.1:80
http://10.10.48.67:8080
http://10.10.48.67:443
https://10.10.46.1:80
https://10.10.48.67:8080
https://10.10.48.67:443
答え1
より具体的にコマンドを発行してくださいgrep
。 IPが行の唯一のエントリである場合は、:80
最後の3文字になります。以下を使用してください。
grep -Ev "https://[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}:80$"
または、後ろにスペースがある場合は、次のようにします80
。
grep -Ev "https://[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}:80\s*$"
行の最後の項目ではない場合は、:80
その後にスペースがある場合を見つけてください。
grep -Ev "https://[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}:80 "
最後の文字が空白でない場合は、入力内容に合わせて調整してください。
答え2
データ内の正規表現を活用して正規表現を圧縮できます。
egrep -xv 'https?://[0-9]{1,3}([.][0-9]{1,3}){3}:80'