AWK - 파일의 첫 번째 열이 가리키는 파일 내용을 가져오는 방법

AWK - 파일의 첫 번째 열이 가리키는 파일 내용을 가져오는 방법

다음 내용이 포함된 f1.txt 파일이 있습니다.

file1 file2
file3 file4

file1의 내용은 다음과 같습니다

student1 10
student2 20

이제 f1.txt에서 첫 번째 열을 가져오고 awk를 사용하여 file1의 내용을 인쇄하려고 합니다. 나는 그것을 시도했지만 awk '{print $1}' f1.txt | cat $1작동하지 않았습니다. file1의 내용을 얻는 데 사용할 수 있는 간단한 방법이 있습니까 awk?

답변1

이는 awk의 데이터에 대한 처리를 수행하지 않고 단지 awk를 사용하여 데이터를 선택하는 경우 xargs에 적합합니다. 예:

awk '{ print $1; }' | xargs cat

이는 cat에 대한 여러 인수를 수집하는 xargs에 비해 이점이 있으므로 system좀 더 효율적입니다.

답변2

awk여기서 함수를 호출하여 system외부 명령을 실행할 수 있습니다.

awk '{system("cat "$1)}' f1.txt

file1또는 대신 내용을 인쇄하려는 경우 file3:

awk 'NR==1{system("cat "$1)}' f1.txt

관련 정보