awkを使用してテキストファイルのテーブル要素を置き換える

awkを使用してテキストファイルのテーブル要素を置き換える

txtテーブルにいくつかのデータがあります。

Number        Column1        Column2
  1             abc            zxy
  7             tgh            lkj
  1             rfe            zpo

lkjの位置(常に3列、3行)の文字列を変更したいと思います。 lkjを任意に交換しないでください。別の例を考えてみましょう。

    Number        Column1        Column2
  a             875            172
  a             457            357
  2             986            125

この場合は、357を抽出したいと思います。 3列、3行。列awkパラメータに関する操作を試していますが、$3どうすればよいかわかりません。どんな提案がありますか?

答え1

良い位置合わせを維持するには、awk機能を使用してくださいsub

awk 'NR==3{sub($3, "string_to_replace")}1' infile.txt

それ以外の場合は、次のものを使用できます

awk 'NR==3{$3="string_to_replace"}1' infile.txt

NR==33行目の場合は、置換を実行し、1常に条件がtrueであり、そのawk行を印刷するように指示することを意味します(またはこれがデフォルトのジョブかどうかawk)。

関連情報