firefox $(grep -l "mysed" /home/test)
当我将命令更改为以下命令时,该命令可以在firefox中打开包含单词mysed
的所有文件,
grep -l "mysed" /home/test | firefox
为什么firefox无法打开grep选择的文件?
答案 0 :(得分:3)
因为管道不应用参数。管道将stdout从一个进程重定向到另一个进程的stdin。
您可以使用xargs
来实现您的目标:
grep -l "mysed" /home/test | xargs firefox
答案 1 :(得分:0)
第一个命令提供要作为Firefox的命令行参数打开的文件,而第二个命令提供它们在Firefox的STDIN上没有解释,因此无法打开它们。