awk에서 두 열을 곱하는 방법은 무엇입니까?

awk에서 두 열을 곱하는 방법은 무엇입니까?

입력 파일의 열 1과 열 2를 곱하고 싶고(파일 끝까지) 별도의 파일에서 열 1을 출력하고 열 3을 곱해야 합니다.

입력.txt:

1 677679866
2 121867616
3 49413198
4 40415982

출력.txt:

1 677679866
2 243735232
3 148239594
4 161663928

답변1

awk '{ print $1, $1 * $2 }' input.txt > output.txt

답변2

해결책 은 다음과 같습니다 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

관련 정보