我希望创建一个简单的脚本来执行以下操作:
cd /specified/directory
cd into child directory only if it has a 4 digit name e.g 1234
rm -r all files that begin with letter P
rm -r all files that begin with letter E
exit child directory
check for next directory with 4 digit number
repeat task
End
答案1
允许文件名扩展来完成这项工作的大量文件可能会耗尽环境空间(尤其是在某些 UNIX 系统上)。因此,我将使用“查找”来确定您要删除的文件。
要查看将被删除的文件,您可以运行:
find $(find /specified/directory -d -name "[0-9][0-9][0-9][0-9]") -name "[E|P]*" -print
要删除它们,您可以使用 -exec 选项扩展它
find $(find /specified/directory -d -name "[0-9][0-9][0-9][0-9]") -name "[E|P]*" -exec rm -i {} \;
答案2
您不需要为此使用循环或脚本;让文件名扩展做那项工作:
rm /specified/directory/[0-9][0-9][0-9][0-9]/{P,E}*
这将匹配子目录中名称为 4 位数字且文件名以或/specified/directory
开头的所有文件。P
E