URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 4794
[ Назад ]

Исходное сообщение
"Как удалять если в файле есть пробел, через ввод-вывод"

Отправлено irho0 , 31-Окт-05 18:21 
Есть find '\var\log\logs t' -mtime +10 -exec rm -rf {} /;
'logs t' - папка.
Проблема в том, что find ищёт, но rm не удаляет. Если нету пробела в папке, то удаляет нормально. Может быть както можно заключать в ковычки каждую строку? Или какое-либо другое решение?

Содержание

Сообщения в этом обсуждении
"Как удалять если в файле есть пробел, через ввод-вывод"
Отправлено Андрей , 31-Окт-05 19:25 
man find
man xargs
если используется GNU find
find '/var/log/logs t/' -print0 | xargs -0 rm -rf

"Как удалять если в файле есть пробел, через ввод-вывод"
Отправлено irho0 , 31-Окт-05 20:06 
>man find
>man xargs
>если используется GNU find
>find '/var/log/logs t/' -print0 | xargs -0 rm -rf
Спасибо, разобрался.
Толко вот на другом сервере, под windows с unixtools уже не работает:

c:\unixutils\usr\local\wbin>find "c:\program files\test2" -mtime +10 -p
rint0 | xargs -0 rm -r
rm: c:\program: No such file or directory
rm: files\test2\tt.jpg: No such file or directory
rm: c:\program: No such file or directory
rm: files\test2\23233: No such file or directory
rm: c:\program: No such file or directory
rm: files\test2\23233\fgf\ttt.jpg: No such file or directory
rm: c:\program: No such file or directory
rm: files\test2\23233\fgf\rrrrr.jpg: No such file or directory
rm: c:\program: No such file or directory
rm: files\test2\ios_sux.jpg: No such file or directory
rm: c:\program: No such file or directory
rm: files\test2\sd\find.exe: No such file or directory

Понимаю, что запрос уже не совсем коррекнтый но всё же.
Кстати - в данном случае можно Program Files заменить на PROGRA~1, тогда будет работать, а вот есть папка называется скажем "IN OUT", то тут ситуация не ясна мне.


"Как удалять если в файле есть пробел, через ввод-вывод"
Отправлено spanka , 02-Ноя-05 16:36 
>>man find
видимо плохо читали.
find . -name "pattern" -delete
или
find . -name "pattern" -exec rm -rfd "{$1}" \;