Есть find '\var\log\logs t' -mtime +10 -exec rm -rf {} /;
'logs t' - папка.
Проблема в том, что find ищёт, но rm не удаляет. Если нету пробела в папке, то удаляет нормально. Может быть както можно заключать в ковычки каждую строку? Или какое-либо другое решение?
man find
man xargs
если используется GNU find
find '/var/log/logs t/' -print0 | xargs -0 rm -rf
>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", то тут ситуация не ясна мне.
>>man find
видимо плохо читали.
find . -name "pattern" -delete
или
find . -name "pattern" -exec rm -rfd "{$1}" \;