1

次のようなテキストを含むファイルがあります


    Host:xxx.xxx.xxx.123
    Host:xxx.xxx.xxx.124
    Host:xxx.xxx.xxx.125

Questinは、このファイルを次のように取得する方法です(unixの方法)


    Host:xxx.xxx.xxx.123; something xxx.xxx.xxx.123
    Host:xxx.xxx.xxx.124; something xxx.xxx.xxx.124
    Host:xxx.xxx.xxx.125; something xxx.xxx.xxx.125

前もって感謝します!

4

2 に答える 2

1

awk の代替手段は次のとおりです。

awk 'BEGIN{FS=":"}{ printf "%s:%s; %s \n", $1, $2, $2 }' yourfile.txt

awk は、このような行ごとの文字列操作に最適です。必要に応じて、出力を宛先ファイルに送信するだけです。よくわからない場合は、AWK チュートリアルをチェックしてください。

于 2012-04-07T08:37:47.217 に答える
0

awk も使用できますが、これは機能します (file1 は元のファイルです)。

cut -d":" file1 -f2 > tmp.txt; paste tmp.txt tmp.txt | \
sed 's/^/Host:/' | sed 's/\s/; something /'

あまり洗練されたものではなく、ほとんどの人は sed を 2 回使用することはありませんが、機能します。ファイルに吐き出すには、 > file2 で終了します

于 2012-04-07T08:33:05.870 に答える