awk 파일의 다중 입력

awk 파일의 다중 입력

이 혼란에서 나를 인도해주세요. 미리 감사드립니다.

두 개의 .out 파일에서 입력을 받아 .txt 파일을 생성하는 awk 스크립트를 작성해야 하는 상황이 있습니다.

$ cat file1.sh
awk -f awk_file.awk < outfile1.out outfile2.out  > text_file.txt

다음과 같은 .txt 파일을 표시하고 싶습니다.

---파일 1의 출력------------

column1 column2 column3
--------------------------------------------

columns i will pick from outfile1.out

columns i will pick from outfile1.out

--------------------------------------------
Total no. of columns from outfile1.out

///////////////////////////////////////////////// / -- ---------------파일 2의 출력------------

column1 column2 column3 column4 column5
-------------------------------------------
columns i will pick from outfile2.out

columns i will pick from outfile2.out

columns i will pick from outfile2.out

columns i will pick from outfile2.out

----------------------------------------
Total no. of columns from outfile2.out

text_file.txt를 생성하는 방법은 무엇입니까? ? ?

답변1

그것은 모두 당신이 원하는 것에 달려 있습니다. 파일을 하나씩 처리하려면 루프를 사용하여 두 파일 모두에서 awk 스크립트를 순차적으로 호출한 다음 출력을 리디렉션하면 됩니다.

(for file in outfile1.out outfile2.out; do awk -f awk_file.awk < "$file"; done)  > text_file.txt

또는 두 개의 파일의 경우에는

(awk -f awk_file.awk < outfile1.out; awk -f awk_file.awk < outfile2.out) > text_file.txt

awk로 파일을 처리하기 전에 파일을 병합하려면(단일 파일로 처리함) 다음을 수행하면 됩니다.

cat outfile1.out outfile2.out | awk -f awk_file.awk > text_file.txt

도구가 작업을 잘 수행하게 한 다음 쉘이 조각들을 기능적 스크립트로 함께 묶도록 하는 것이 좋은 습관입니다.

관련 정보