私は10列とたくさんの行を持つファイルを持っています。私はその行に 'G01'パターンが含まれている第10列に修正修正を加えたいと思います。awkとgrepの組み合わせの使い方
例えば、
AS G17 2014 3 31 0 2 0.000000 1 -0.809159910000E-04
AS G12 2014 3 31 0 2 0.000000 1 0.195515363000E-03
AS G15 2014 3 31 0 2 0.000000 1 -0.171167837000E-03
AS G29 2014 3 31 0 2 0.000000 1 0.521982134000E-03
AS G07 2014 3 31 0 2 0.000000 1 0.329889640000E-03
AS G05 2014 3 31 0 2 0.000000 1 -0.381588767000E-03
AS G25 2014 3 31 0 2 0.000000 1 0.203352860000E-04
AS G01 2014 3 31 0 2 0.000000 1 0.650180300000E-05
AS G24 2014 3 31 0 2 0.000000 1 -0.258444780000E-04
AS G27 2014 3 31 0 2 0.000000 1 -0.203691700000E-04
以下のファイルにG01とラインの10番目の列を修正する必要があります。 私は 'while'ループで 'awk'を使っていましたが、大量のファイルには非常に時間がかかります。 誰かがより効果的な方法で助けることができれば分かるでしょう。
'のawk '/ G01/{$ 10 = NEW_VALUE} 1' file'はあなたがしているときは、決してgrepのを必要としない – hek2mgl
やりたいだろうawkはgrepが行うことができる有用な何かを行うことができるのでawkを使用しています。あなたが望むことを行うためのawkの内側または外側のwhileループは必要ありません。 –
追加したい* "訂正" *が100の場合、awk/G01/{$ 10 + = 100} 1 'yourFile'を使用できます。 –