このファイルがあります。
10.1.1.1 www1
10.1.1.2 www2
10.1.1.3 www3
IP address
最初のフィールドを抽出して次の場所に移動したいと思います。http://www.foo.com=10.1.1.1/test.php
10.1.1.1 www1 # http://www.foo.com=10.1.1.1/test.php
10.1.1.2 www2 # http://www.foo.com=10.1.1.2/test.php
10.1.1.3 www3 # http://www.foo.com=10.1.1.3/test.php
これはできますが、1行のトリックにしたいと for loop
思います。sed
ベストアンサー1
sed 's@\([^ ]*\)\(.*\)@\1\2 #http://www.foo.com=\1/test.php@'
アドレスを区切り文字として使用する
@
ときは、アドレスにバックスラッシュを使用する必要はありません。IPアドレスはと一致します
[^ ]*
。つまり、空でない項目は0回以上一致し、によってキャプチャさ\(\)
れます\1
。残りの行\2
、.*
つまり何でもキャプチャされます。