Dentro de awk você pode chamar a função system para executar o comando externo:
awk '{system("cat "$1)}' f1.txt
Ou se você quiser imprimir apenas o conteúdo do file1 e não do file3 :
awk 'NR==1{system("cat "$1)}' f1.txt
Eu tenho um arquivo f1.txt que tem conteúdo como abaixo
file1 file2
file3 file4
e o arquivo1 tem conteúdo como abaixo
student1 10
student2 20
Agora eu quero pegar a primeira coluna de f1.txt e imprimir o conteúdo do arquivo1 usando o awk.
Eu tentei awk '{print $1}' f1.txt | cat $1 , mas não funciona.
Qualquer maneira simples de obter o conteúdo do arquivo1 usando awk ?
Se você não estiver fazendo nenhum processamento dos dados no awk e usando o awk apenas para selecionar os dados, isso é adequado para xargs, por exemplo,
awk '{ print $1; }' | xargs cat
Isso tem a vantagem sobre system de que xargs coletará vários parâmetros para o cat e, assim, será um pouco mais eficiente.
Tags awk