Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Use the output of a command as input of the next command

Tags:

linux

bash

So I call this PHP script from the command line:

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

and its output is:

file1 file2 file3

What I would like to do is get this output and feed to the "rm" command but I think im not doing it right:

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

My goal is to delete whatever file names the PHP script outputs. What should be the proper way to do this?

Thanks!

like image 891
r2b2 Avatar asked Apr 22 '10 09:04

r2b2


3 Answers

/usr/bin/php /var/www/bims/index.php "projects/output" | xargs rm
like image 80
Victor Sorokin Avatar answered Sep 27 '22 19:09

Victor Sorokin


Simplest solution:

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

What is between the backticks (`` ) is run and the output is passed as argument torm`.

like image 25
Felix Avatar answered Sep 27 '22 19:09

Felix


you can try xargs

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

or just simply use a loop

/usr/bin/php /var/www/bims/index.php "projects/output" | while read -r out
do
  rm $out
done
like image 32
ghostdog74 Avatar answered Sep 27 '22 18:09

ghostdog74