我的脚本
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
首先,根据您之前的问题,您想要-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