bash – 将管道传递给需要文件名的命令
发布时间:2020-12-15 18:40:19 所属栏目:安全 来源:网络整理
导读:假设我有一个带有文件名参数的命令foo:foo myfile.txt.令人讨厌的是,foo没有读取标准输入.而不是实际的文件,我想传递另一个命令的结果(实际上,pv,它将捕获文件并输出进度表作为副作用). 有没有办法让这种情况发生?我的包里没有任何东西可以做到. (在这种情
假设我有一个带有文件名参数的命令foo:foo myfile.txt.令人讨厌的是,foo没有读取标准输入.而不是实际的文件,我想传递另一个命令的结果(实际上,pv,它将捕获文件并输出进度表作为副作用).
有没有办法让这种情况发生?我的包里没有任何东西可以做到. (在这种情况下,foo是一个PHP脚本,我认为它顺序处理文件). 我正在使用Ubuntu和Bash 编辑 pv longfile.txt | foo /dev/stdin 现在很明显,我看到了它.
如果我理解你想要做什么,你可以使用bash的命令替换功能:
foo <(somecommand | pv) 这类似于基于mkfifo的答案提示的内容,除了bash为您处理细节(并且它会将/ dev / fd / 63之类的内容传递给命令,而不是常规的命名管道).您也可以更直接地这样做: somecommand | pv | foo /dev/stdin (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |