UNIX/Linux如何批量删除多个文件

时间:2019-11-20 08:53:20  来源:igfitidea点击:

在Linux/UNIX /BSD MacOS X中,如何批量删除多个文件?

使用find命令

语法为:

find /path/to/delete -type f -iname "fileType" -delete

或者

find /path/to/delete -type f -iname "fileType" -exec rm -f {} \;

示例

从var/www及其子目录中批量删除所有*.bak文件

# find /var/www/ -type f -iname "*.bak" -delete

或者

# find /var/www/ -type f -iname "*.bak" -exec rm -f {} \;

Linux如何批量删除文件列表中的文件

创建一个delete.txt文件,将要删除的文件放到里面:

/data/1.txt
/data/dir2/22.txt
/data/dir1/dir3/test.txt
....
...
/data/php.ini
/data/readme.txt

创建一个shell脚本,循环读取delete.txt中的文件,进行删除:

#!/bin/bash

_input="/path/to/delete.txt"
 

[ ! -f "$_input" ] && { echo "File ${_input} not found."; exit 1; }
while IFS= read -r line
do 
	[ -f "$line" ] && rm -f "$line"
done < "${_input}"

如下运行:

$ chmod +x script.sh
$ ./script.sh