所以我从这开始
find /path-to-directory -type f -mtime +60 -exec ls -l {} \; > /path-to-directory/filenames.txt
find /path-to-directory -mtime +60 -exec rm -f {} \;
它为我提供了超过60天的文件列表,但我希望txt文件按顺序显示文件 从最旧到最新,我不在乎订单是否诚实地反转,但我似乎无法正确上下文
我还需要将-type f
保留在-exec rm -f
上,还是暗示
目标是记录已删除的文件。我很想知道我是否可以获取目录的变量以匹配文本文件的名称。
答案 0 :(得分:2)
我希望txt文件按照从最旧到最新的顺序显示文件
尝试将ls -ltr
与xargs
find /path-to-directory -type f -mtime +60 -print0 | xargs -0 ls -ltr > /path-to-directory/filenames.txt
我还需要在-exec rm -f上保留-type,或者它会是什么 暗示
如果您只想删除文件,则需要指定-type f
。否则它也会删除目录。
答案 1 :(得分:1)
但我希望txt文件按从最旧到的顺序显示文件 最新
find /path-to-directory -type f -mtime +60 -printf "%T@ %p\n" | sort
会按所需顺序返回文件列表。但是,它包含一个额外的字段(自1970年1月1日,格林威治标准时间00:00后的秒数)。为了删除附加字段,您可以说:
find /path-to-directory -type f -mtime +60 -printf "%T@ %p\n" | sort | cut -d' ' -f2
我还需要将
-type f
保留在-exec rm -f
上,还是可以 暗示
不,你需要保留它,否则find
也会返回目录。