テキスト文字列の前のすべての項目を見つけて置き換える

テキスト文字列の前のすべての項目を見つけて置き換える

私は多くのIPアドレスのリスト(主にIPv4、いくつかのIPv6)の後にスペース、ドメイン名、別のスペースがあり、「www」を含む同じドメイン名があります。その前に。各インスタンスは独自の行にあります。リストは次のとおりです(しかし、はるかに大きい):

23.212.109.137 at.ask.com www.at.ask.com
216.58.206.74 maps.googleapis.com www.maps.googleapis.com
2400:cb00:2048:1::6812:32a5 litscape.com www.litscape.com
104.16.244.35 loc.gov www.loc.gov
216.70.104.235 mbu.edu www.mbu.edu

2つの検索と置換コマンドが気になります。各コマンドは、最後のコマンドの後に別のテキストファイルを生成します。

1)最初のコマンドは見つけて置き換える必要があります。すべて「www」の前に。 「http://」を使用すると、2番目のテキストファイルの行が次のように表示されます。

http://www.at.ask.com
http://www.maps.googleapis.com
http://www.litscape.com
http://www.loc.gov
http://www.mbu.edu

2)2番目のコマンドは、「」のすべてのインスタンスを見つけて置き換える必要があります。http://www."を2番目のテキストファイルに追加して、3番目のテキストファイルの行が次のようになります。

at.ask.com
maps.googleapis.com
litscape.com
loc.gov
mbu.edu

ありがとうございます。

ベストアンサー1

シングルアッ注文する:

awk '{ print $2 > "domains.txt"; print "http://"$3 > "domains_http.txt" }' file

結果:

> cat domains_http.txt 
http://www.at.ask.com
http://www.maps.googleapis.com
http://www.litscape.com
http://www.loc.gov
http://www.mbu.edu

> cat domains.txt 
at.ask.com
maps.googleapis.com
litscape.com
loc.gov
mbu.edu

おすすめ記事