删除Linux中的多个文件?

时间:2016-01-07 09:05:21

标签: linux rm

如何删除在相同日期和时间创建的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

如何使用一个命令删除所有文件?

3 个答案:

答案 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