2016-12-05 4 views
0

Мне нужно найти файлы для определенного года, например 2014, и удалить файлы. Попытка использовать следующую команду, которая бросаетПолучение find: truncate: Нет такой ошибки файла или каталога

touch -t 201401010000 /tmp/from 
touch -t 201501010000 /tmp/to 
find . -type f -newer /tmp/from ! -newer /tmp/to -exec truncate -s 0 {} \; 

error :- find: truncate: No such file or directory 

Есть ли ошибка синтаксиса я делаю в команде выше и как я могу исправить то же самое. Thanks

+0

(1) какая система вы используете? Это GNU усекать и найти или какую-то другую версию? (2) можете ли вы вставить файлы, найденные командой find где-нибудь? Я подозреваю, что у вас есть какой-то путь, который рассматривался как два отдельных пути путем усечения (возможно, из-за «\» или пробела или вкладки в имени); мой тест с файлом с пробелами в пути работал с обрезкой GNU, но вы, возможно, попали в другой край. –

+0

что делает 'which truncate' сказать? возможно, у вас нет установленного –

+0

, он не показывает обрезание и дает пути к каталогам. – Sam

ответ

0

Полученный выше сценарий для работы по команде ниже.

find . -type f -newermt 2014-01-01 ! -newermt 2015-01-01 -exec truncate -s 0 {} \; 

Спасибо всем за предложение.

Смежные вопросы