使用命令的输出作为下一个命令的输入

时间:2010-04-22 09:19:28

标签: linux bash

所以我从命令行调用这个PHP脚本:

/usr/bin/php /var/www/bims/index.php "projects/output"

,其输出为:

file1 file2 file3

我想要做的是获取此输出并输入“rm”命令,但我认为我做得不对:

/usr/bin/php /var/www/bims/index.php "projects/output" | rm 

我的目标是删除PHP脚本输出的任何文件名。应该怎样做才能做到这一点?

谢谢!

4 个答案:

答案 0 :(得分:11)

/usr/bin/php /var/www/bims/index.php "projects/output" | xargs rm

答案 1 :(得分:4)

最简单的解决方案:

rm `/usr/bin/php /var/www/bims/index.php "projects/output"`

反引号之间有什么关系(``) is run and the output is passed as argument to rm`。

答案 2 :(得分:3)

您可以尝试xargs

/usr/bin/php /var/www/bims/index.php "projects/output" | xargs rm 

或只是简单地使用循环

/usr/bin/php /var/www/bims/index.php "projects/output" | while read -r out
do
  rm $out
done

答案 3 :(得分:0)

我想这可以帮助>>

grep -n" searchstring"文件名| awk' BEGIN {FS =" " }; {print $ 1}'