5

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

$ cat test
12 13 2100 s
12 13 3100 s
100 13 100 s
12 13 300 s

出力を次のようにしたい:

$ cat test
12 13 22000 s
12 13 32000 s
100 13 2000 s
12 13 300 s

100フィールド 3 (一度100に含まれている$3) をに置き換えたいだけです2000。を使用してこの仕事を達成するにはどうすればよいawkですか?

4

3 に答える 3

12

を使用する 1 つの方法を次に示しawkます。

awk '{ sub(/100$/, "2000", $3) }1' file

結果:

12 13 22000 s
12 13 32000 s
100 13 2000 s
12 13 300 s
于 2012-12-27T12:41:23.747 に答える
1
awk '$3~/100/{gsub(/100/,"2000",$3)}1' your_file
于 2012-12-27T12:43:37.087 に答える