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

与 xargs 将为 cat 收集多个参数相比,这有一个优势system,因此效率更高一些。

答案2

awk您可以在其中调用函数system来运行外部命令:

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

或者,如果您只想打印 的内容file1而不是file3

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

相关内容