私はファイルを持っています:
one one one
one one
one one
one
one
one
このコマンドは、「one」、「three」を 5 回置き換えました。
$ awk '{for(i=1; NF>=i; i++)if($i~/one/)a++}{if(a<=5) gsub("one", "three"); print }' file
three three three
three three
one one
one
one
one
同じことですが、6回:
$ awk '{for(i=1; NF>=i; i++)if($i~/one/)a++}{if(a<=6) gsub("one", "three"); print }' file
three three three
three three
one one
one
one
one
上記の例を改善するにはどうすればよいですか? この結果が欲しい:
three three three
three three
three one
one
one
one
ご協力ありがとうございました。