다음 형식의 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