다음 내용이 포함된 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