如何删除在相同日期和时间创建的Linux中的多个文件?如何在不使用日期的情况下管理此操作?该文件有不同的名称。
我有这些.txt文件:
-rw-r--r-- 1 root root 54 Jan 6 17:28 file1.txt
-rw-r--r-- 1 root root 33 Jan 6 17:28 file2.txt
-rw-r--r-- 1 root root 24 Jan 6 18:05 file3.txt
-rw-r--r-- 1 root root 0 Jan 6 17:28 file4.txt
-rw-r--r-- 1 root root 0 Jan 6 17:28 file5.txt
如何使用一个命令删除所有文件?
答案 0 :(得分:4)
您可以使用find命令并指定时间范围。在您的示例中:如果您希望找到所有具有修改时间戳的文件,从6月17日到28日,您可以执行以下操作:
find . -type f -newermt '2016-01-06 17:28' ! -newermt '2016-01-06 17:29'
如果您想删除它们,只需使用find exec参数:
find . -type f -newermt '2016-01-06 17:28' ! -newermt '2016-01-06 17:29' -exec rm {} \;
您还可以添加-name' * .txt'如果你只想处理* .txt文件,如果你想避免处理子目录,也要检查maxdepth参数
答案 1 :(得分:2)
只需使用rm -f file*.txt
删除所有以文件开头并以扩展名.txt
答案 2 :(得分:0)
如果您知道修改文件的分钟数,则可以使用find
命令删除所有文件。考虑该文件是在十分钟前修改的。然后你可以使用,
find -iname "*.txt" -mmin 10 -ok rm {} \;
如果您在删除之前不需要提示,请使用-exec
。
find -iname "*.txt" -mmin 10 -exec rm {} \;
如果您需要使用访问时间删除文件,则可以使用-amin