awkで$0=$1はどういう意味ですか?

awkで$0=$1はどういう意味ですか?

次の入力テキストファイル(sample_simple.txt)があるとします。

3 1 10 1 6
9 4 2  4 1
9 2 2  2 1

次のコマンドを使用すると、awk '$0=$1" "$1*$2" "$3*$4' sample_simple.txt次のような出力が得られます。

3 3 10
9 36 8
9 18 4

awk '$1*$2" "$3*$4' sample_simple.txt次に、入力ファイルを変更せずに次のコマンドを使用します。

3 1 10 1 6
9 4 2  4 1
9 2 2  2 1

コマンド間の唯一の変更はです'$0=$1'。誰かが説明できますか?

ベストアンサー1

これは本当ではない$0=$1ようです。

$0 = ($1" "$1*$2" "$3*$4)

だから

$0=$1" "$1*$2" "$3*$4

文字列連結の結果を$1" "$1*$2" "$3*$4変数に代入し$0て基本操作を実行します{print $0}が、

 $1*$2" "$3*$4

$1*$2$3*$4との間にスペースがある結果を連結し、結果が空でない文字列なので、" "基本的な操作を実行します。{print $0}値は$0変更されません。

おすすめ記事