2

Мой сценарий

log=$HOME/Deleted/$(date)
find $HOME/OldLogFiles/ -type f -mtime -7 -exec ls -latr {} \; -exec echo was deleted on `date` \; -exec rm -f "{}" \;|paste - - >> $log

Моя цель сценария - удалить файлы старше x дней, а затем записать их в файл и отобразить имя файла, дату удаления и сколько ему лет. Я продолжаю получать эти ошибки однако ...

./test.sh: line 3: $log: ambiguous redirect
find: ‘ls’ terminated by signal 13
find: ‘ls’ terminated by signal 13

У кого-нибудь есть предложения?

1 ответ1

1

Прежде всего, исходя из вашего предыдущего вопроса, вы хотите -mtime +7 на 7 дней или старше. -mtime -7 означает 7 дней или новее.

ambiguous redirect ошибка перенаправления, вероятно, означает, что $log не определен. Я не могу воспроизвести вашу find: ‘ls’ terminated by signal 13 вероятно, это зависит от конкретных файлов, которые у вас есть в рассматриваемой папке. Не могли бы вы опубликовать список файлов где-нибудь?

В любом случае, signal 13 означает сломанную трубу, поэтому что-то идет не так. Вы передаете эту команду через head или tail или что-то подобное? Попробуйте это и посмотрите, если вы получите те же ошибки:

find $HOME/OldLogFiles/  -type f -mtime +7 -exec stat -c "%n %y"  "{}" \; -exec echo was deleted on `date` \; |paste - - >>$log

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .