열과 행으로 정리된 파일에서 값을 추출합니다.

열과 행으로 정리된 파일에서 값을 추출합니다.

다음 형식의 5개 열이 있는 파일이 있습니다.

1 213 1 545 0.0988697879 0.9084867680

이런 라인이 300개가 있습니다. 행의 네 번째와 다섯 번째 열에서 값을 가져와 수학 연산을 수행한 다음 결과를 저장하고 300개 행 모두에 대해 이 과정을 반복하고 싶습니다.

지금까지 찾은 가장 가까운 해결책은 다음을 사용하여 배열을 구축하는 것입니다.

while IFS= read -a line; do   printf "Line number %d:\n" $i;   printf "%s\n" "${line[@]}";   let i++; done < "workfile.txt""

이 문제를 해결하는 더 좋은 방법은 무엇입니까?

답변1

awk를 사용하여 필드를 조작할 수 있습니다. 자세한 내용은 다음과 같습니다.여기. 다음 코드 한 줄은 4번째와 5번째 필드를 추가하고 결과를 출력 파일에 저장합니다.

awk '{print $4 + $5}' input.file > output.file

관련 정보