Bash/python根据条件递归删除文件夹

2024-09-28 17:00:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我想用bash/python编写一个脚本,它能够递归地删除一个文件夹,其中没有'.txt'文件。你知道吗

例如:

| Folder1/          --> keep
|--SubFolderA/      --> keep
|----file.txt

| Folder2/          --> delete

| Folder3/          --> keep
|--subFolderA/      --> keep
|----file.txt

| Folder4/          --> delete
|--SubFolderA/      --> delete
|----SubFolderB/    --> delete
|------file.py

| Folder5/          --> keep
|--SubFolderA/      --> keep, because .txt file is in SubFolderB
|----file.sh
|----SubFolderB/    --> keep
|------file.txt

| Folder6/          --> keep
|--SubFolderA/      --> keep
|----file.txt
|----SubFolderB/    --> delete
|------file.py

Tags: 文件pytxt脚本文件夹bashdeletefile
1条回答
网友
1楼 · 发布于 2024-09-28 17:00:05

绝对要用find。像这样:

find /path -type f -name "*.txt" -exec rm -rf {} \;

我不打算为你写if语句,但这应该能让你开始…实际上不管怎样:

path=the/path/to/the/directory/
myvar=$(find $path -type f -name "*.txt" -exec rm -rf {} \;)
if [ -z $myvar ]
then
rmdir $path
else
#don't do anything...keep it
fi

相关问题 更多 >