Выполните строковый результат сценария оболочки как ряд команд оболочки

Более легкий метод должен был бы экспортировать пересмотр, который Вы хотите вместо того, чтобы проверить его. Попробовать svn help export в оболочке удара.

Если Вы действительно хотите использовать find пройти и удалить все названные дочерние каталоги .svn Вы сделали бы это:

find /path/to/search -type d -iname .svn -print0 | xargs -0 rm

Править

  • -type d #look для каталогов только
  • -iname .svn #case нечувствительное соответствие, вероятно, не необходимое
  • -print0 #prints полное имя файла, сопровождаемое нулевым символом вместо новых строк. это позволяет именам файлов с пробелами или другим пробелом быть переданными правильно xargs -0
4
27.02.2012, 12:14
5 ответов

Вы хотите изучить команду оценки.

eval $(awk '{print "mail -s \"welcome\"", $1}' file_a)

Править: Вы - правильный @manatwork - оценка, как я продемонстрировал, не будет действительно работать на несколько строк. Я пытался ответить на вопрос Navid, поскольку он спросил это, но действительно я не должен был бояться спросить его, почему он только не использовал для цикла, т.е.:

for m in $(<file_a); do mail -s welcome $m
3
27.01.2020, 20:48
  • 1
    Вы уверены? Для меня это работает только на однострочный вывод, не с несколькими строками как в требовании. право –  manatwork 28.02.2012, 13:18

Несколько путей:

  • запишите вывод awk в файл, сделайте исполняемый файл файла и затем выполните его
  • используйте систему () функция в awk сценарии:
2
27.01.2020, 20:48

Непосредственно читая и выполняя команду в ударе.

for i in `<file_a`; do mail -s "welcome" $i; done
2
27.01.2020, 20:48

Можно играть с xargs.

xargs - создайте и выполните командные строки от стандартного входа

И пример связывается быть похожим на это

awk '{print "mail -s \"welcome\"", $1}' file_a | xargs -0 bash -c
2
27.01.2020, 20:48

Вы могли передать результат по каналу àwk кому: bash:

awk '{print "mail -s \"welcome\"", $1}' file_a | bash

Но будьте осторожны на выводе 1-й команды, как будто file_a содержит некоторые хитрые строки, Вы могли выполнить нежелательные команды.

1
27.01.2020, 20:48

Теги

Похожие вопросы