gpt4 book ai didi

linux - 如何从管道中使用两次 STDIN

转载 作者:可可西里 更新时间:2023-11-01 11:45:21 27 4
gpt4 key购买 nike

我有一个类似于 awk 的脚本

awk 'FNR==NR {col1[$1]++; col2[$2]++; next} {print $0, col2[$2] "/" length(col1)}' input input

但如果我有很多文件并且需要使用此脚本将文件连接在一起,例如:

cat *all_input | awk 'FNR==NR {col1[$1]++; col2[$2]++; next} {print $0, col2[$2] "/" length(col1)}' STDIN STDIN

不起作用。如何从管道中使用两次 STDIN?

最佳答案

您不需要使用管道。如果您使用 bash使用 process-substitution as <(cmd) 即实现重定向,其中进程的输入或输出(某些命令序列)显示为临时文件。

awk 'FNR==NR {col1[$1]++; col2[$2]++; next} {print $0, col2[$2] "/" length(col1)}' <(cut -f3 5- input) <(cut -f3 5- input)

关于linux - 如何从管道中使用两次 STDIN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44671307/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com