![열과 행으로 정리된 파일에서 값을 추출합니다.](https://linux55.com/image/77084/%EC%97%B4%EA%B3%BC%20%ED%96%89%EC%9C%BC%EB%A1%9C%20%EC%A0%95%EB%A6%AC%EB%90%9C%20%ED%8C%8C%EC%9D%BC%EC%97%90%EC%84%9C%20%EA%B0%92%EC%9D%84%20%EC%B6%94%EC%B6%9C%ED%95%A9%EB%8B%88%EB%8B%A4..png)
다음 형식의 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