Использовать вывод команды в качестве ввода следующей команды - PullRequest
5 голосов
/ 22 апреля 2010

Итак, я вызываю этот 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 ]

11 голосов
/ 22 апреля 2010
/usr/bin/php /var/www/bims/index.php "projects/output" | xargs rm
4 голосов
/ 22 апреля 2010

Самое простое решение:

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

Что находится между обратными чертами (`` ) is run and the output is passed as argument to rm`.

3 голосов
/ 22 апреля 2010

можно попробовать 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
0 голосов
/ 16 июня 2014

Полагаю, это могло бы помочь >>

grep -n "searchstring" имя файла | awk 'BEGIN {FS = ""}; {print $ 1}'

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...