微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在Linux命令中引用前一个命令的输出两次?

例如,如果我想引用一次前面的命令的输出,我可以使用下面的命令:

ls *.txt | xargs -I % ls -l %

但是如何引用输出两次? 像我可以如何实现像这样的东西:

ls *.txt | xargs -I % 'some command' % > %

PS:我知道如何在shell脚本中做到这一点,但我只想要一个更简单的方法来做到这一点。

如何从批处理文本文件删除回车符和换行符?

可执行文件在linux上删除

一些复制命令在窗口中从当前位置复制到指定的位置

安全地使用前一个命令的结果:批处理(等待,睡眠,Ping等)

Linux实用程序知道特定任务的命令

Perl脚本来获取Python的版本

在Windows命令行中使用Chrome中的“copy as cURL”

CP命令提示符Windows 7无法识别

创build一个别名

PHP或Apache? exec,popen,system和proc_open命令不会执行任何命令,即使是ls

你可以将这个参数传递给bash -c :

ls *.txt | xargs -I % bash -c 'ls -l "$1" > "out.$1"' - %

你可以在SO上查找'tpipe' 它也会导致你“撒尿”(这是不是在互联网上的其他搜索字词)。 基本上,它们是tee命令的变体,它写入多个进程而不是像tee命令那样写入文件

但是,用Bash,你可以使用进程替换 :

ls *.txt | tee >(cmd1) >(cmd2)

这会将输入写入到每个命令cmd1和cmd2 。

您可以安排至少以两种不同的方式丢失标准输出

ls *.txt | tee >(cmd1) >(cmd2) >/dev/null ls *.txt | tee >(cmd1) | cmd2

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐