正規表現:awkとsedを使用してIPでウェブサイトを一致させる

正規表現:awkとsedを使用してIPでウェブサイトを一致させる

さまざまなWebサイトの複数のIPアドレスを含むファイルがありますが、特定のIPに関連付けられているWebサイトのみを印刷してそのWebサイトを表示したいと思います。例えば、

128.125.21.1,/www.extra.com/home.html,2323,oiehfoioi,wopwpwp
124.15.21.1,/www.yahoo.com/9998,wjeoiwjo,bbdjksbk

必要なのは128.125.21.1にリンクされたウェブサイトだけです。 awkを使用して完全なURLとIPを印刷して結果を得ましたが、IPを削除したいと思います。どうすればawkとsedを組み合わせてこれを行うことができますか?

ベストアンサー1

目的は、「最初のカンマで区切られたフィールドがある行から2番目のカンマで区切られ128.125.21.1たフィールドを印刷する」と言うことができます。その場合は、次のものを使用できます。

awk -F, '$1=="128.125.21.1"{print $2}' file

あなたの例では、以下を印刷します。

$ awk -F, '$1=="128.125.21.1"{print $2}' file
/www.extra.com/home.htm

もちろん実際のURLではありません。前も削除するには、次のものを/使用できます。

$ awk -F, '$1=="128.125.21.1"{print $2}' file | sed 's#^/##'
www.extra.com/home.html

おすすめ記事