简体   繁体   中英

Deleting multiple files in Linux?

How can I delete multiple files in Linux created at same date and time? How can I manage this without using date? The file have different names.

I have these .txt files:

-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

How can I delete all the files with one command?

You can use find command and specify the time range. In your example: if you would like to find all files with modified timestamp from 6. Jan 17:28 you can do something like:

find . -type f -newermt '2016-01-06 17:28' ! -newermt '2016-01-06 17:29'

if you would like to delete them, just use finds exec parameter:

find . -type f -newermt '2016-01-06 17:28' ! -newermt '2016-01-06 17:29' -exec rm {} \;

you can also include -name '*.txt' if you want to process only *.txt files, and check maxdepth parameter as well if you would like to avoid processing subdirectories

只需使用rm -f file*.txt删除所有以file开头并以扩展名.txt结尾的文件

If you know the minutes of the file modified then you can deleted all files using find command. consider the file was last modified ten minutes ago. Then you can use,

find -iname "*.txt" -mmin 10 -ok rm {} \;

If you don't need to prompt before deleting then use -exec .

 find -iname "*.txt" -mmin 10 -exec rm {} \;

If you need to delete the files using access time then you can use -amin

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM