sh脚本 删除当前子文件夹的所有的txt
时间: 2023-02-08 20:40:10 浏览: 63
您可以使用以下sh脚本来删除当前文件夹中所有txt文件:
```
find . -name "*.txt" -type f -delete
```
该脚本使用`find`命令在当前文件夹中搜索所有名称以`.txt`结尾的文件,然后使用`-delete`选项删除这些文件。
相关问题
sh脚本 递归删除当前子文件夹的所有的txt
### 回答1:
您可以使用以下sh脚本进行递归删除当前子文件夹中的所有txt文件:
```sh
find . -name "*.txt" -type f -delete
```
这将在当前文件夹及其子文件夹中查找所有名为"*.txt"的文件,并将其删除。
### 回答2:
可以使用以下的sh脚本来递归删除当前子文件夹中的所有txt文件:
```sh
#!/bin/bash
delete_txt_files() {
for file in "$1"/*; do
if [ -d "$file" ]; then
delete_txt_files "$file"
elif [ -f "$file" ] && [ "${file##*.}" = "txt" ]; then
rm "$file"
fi
done
}
delete_txt_files .
echo "已成功删除所有子文件夹中的txt文件。"
```
这个脚本定义了一个名为`delete_txt_files`的函数,它接受一个参数表示当前文件夹路径。在这个函数中,我们使用`for`循环遍历当前文件夹中的所有文件和子文件夹。如果遍历到的是一个子文件夹,我们会递归调用`delete_txt_files`函数,以进一步删除子文件夹中的txt文件。如果遍历到的是一个txt文件,我们会使用`rm`命令删除它。
最后,我们在脚本的最后调用`delete_txt_files`函数,并且打印一条消息表示成功删除了所有子文件夹中的txt文件。
### 回答3:
sh脚本用于递归删除当前子文件夹中的所有txt文件,可以通过以下命令实现:
#!/bin/bash
#递归删除当前子文件夹的所有txt
function delete_txt {
for file in "$1"/*; do
if [[ -d "$file" ]]; then
delete_txt "$file" #递归调用自身处理子文件夹
elif [[ -f "$file" && "${file##*.}" == "txt" ]]; then
rm "$file" #删除后缀为txt的文件
fi
done
}
#执行删除操作
delete_txt . #当前目录作为起始点
首先,定义了一个名为delete_txt的函数,每次调用该函数时会接收一个参数,该参数表示当前目录。
在函数中,使用for循环遍历当前目录下的所有文件和子目录。如果遍历到的文件是一个目录,则使用递归调用delete_txt函数,处理子目录中的文件。
如果遍历到的文件是一个普通文件,并且文件的后缀名是txt,则使用rm命令删除该文件。
最后,在脚本的最后一行,调用delete_txt函数来实现递归删除当前子文件夹中的所有txt文件。传入的参数为当前目录".",表示从当前目录开始递归删除txt文件。
这样,运行该脚本后,当前子文件夹中所有的txt文件都会被删除。
sh脚本,我需要遍历所有用数字命名的文件夹,将这些文件夹中的mods文件夹中的文件转移到数字命名的文件夹的同级目录下
在Linux环境下,你可以创建一个bash shell脚本来完成这个任务。下面是一个基本的示例脚本,它会遍历所有数字命名的文件夹,查找并移动`mods`文件夹中的所有文件到其父目录下:
```bash
#!/bin/bash
# 定义当前目录
current_dir=$(pwd)
# 遍历当前目录下的所有子目录
for dir_name in "$current_dir"/*; do
# 检查是否是数字命名的目录
if [[ $dir_name =~ ^[0-9]+$ ]]; then
# 构建mods文件夹路径
mods_dir="$dir_name/mods"
# 检查mods目录是否存在
if [[ -d "$mods_dir" ]]; then
echo "Moving files from $mods_dir to the parent directory..."
# 使用mv命令移动mods文件夹中的所有文件到父目录
mv "$mods_dir"/* ./
# 删除mods文件夹(如果不需要保留)
rm -r "$mods_dir"
# 显示操作结果
echo "Moved all files from $mods_dir."
else
echo "No mods directory found in $dir_name."
fi
fi
done
# 结束脚本
echo "Script completed."
```
保存这个脚本为.sh文件(例如`move.mods.sh`),然后给它执行权限 (`chmod +x move.mods.sh`),然后运行它 (`./move.mods.sh`)。
阅读全文