我有一个文件 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