Перенаправить вывод из -exec в команде find в переменную - PullRequest
1 голос
/ 08 февраля 2012

У меня есть команда в виде:

find -name *.* -type f -exec rm {} -v \;

И я хочу получить список файлов, которые он обработал, в переменную. Как бы я это сделал в ksh?

Ответы [ 4 ]

1 голос
/ 08 февраля 2012
 VAR=`find /dir -name '*.*' -type f -print -exec rm {} \;`
0 голосов
/ 09 февраля 2012

Я не ksh-пользователь, поэтому могу ошибаться. В bash я должен замаскировать звездочки:

find -name "*.*" -type f -exec rm {} -v \;

и я могу использовать -delete вместо -exec rm, но удаление специально для GNU-find:

find -name "*.*" -type f -delete

и для вывода имен файлов добавьте печать:

find -name "*.*" -type f -delete -print

и захватить вывод

deleted=$(find -name "*.*" -type f -delete -print)
0 голосов
/ 08 февраля 2012

Вот пример:

VAR=$(your statement)
0 голосов
/ 08 февраля 2012

Добавьте "-print" после ваших аргументов

...