awkで2つの列を乗算する方法は?


8

入力ファイルで列1と列2(ファイルの終わりまで)を乗算し、1つの列と3つの列を別々のファイルに出力する必要があります。

input.txt:

1 677679866
2 121867616
3 49413198
4 40415982

output.txt:

1 677679866
2 243735232
3 148239594
4 161663928

ここに質問はありますか?
mikeserv 2014

回答:



4

これがawk解決策です:

$ awk '$0=$1" "$1*$2' input.txt 
1 677679866
2 243735232
3 148239594
4 161663928

しかし、あなたはそれを多くの方法で行うことができます、これがperl解決策です:

$ perl -ape 's/$F[1]/$F[0]*$F[1]/e' input.txt
1 677679866
2 243735232
3 148239594
4 161663928

-iオプションを使用して、変更をインプレースで行うことができます。

$ perl -i.bak -ape 's/$F[1]/$F[0]*$F[1]/e' input.txt
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.