contos7编写脚本,编写批量修改文件后缀名脚本,如批量将mm目录下的所有txt文件修改为sh文件
时间: 2024-02-27 21:53:49 浏览: 19
可以使用以下脚本来实现:
```bash
#!/bin/bash
# 将 mm 目录下的所有 txt 文件修改为 sh 文件
cd /path/to/mm
for file in *.txt; do
mv -- "$file" "${file%.txt}.sh"
done
```
解释一下脚本:
- `cd /path/to/mm`:进入目标目录。
- `for file in *.txt; do`:循环遍历目录下所有的 txt 文件。
- `mv -- "$file" "${file%.txt}.sh"`:使用 `mv` 命令将文件名后缀修改为 sh。
注意:在使用时需要将 `/path/to/mm` 替换为实际的目录路径。执行脚本时需要具有修改文件权限。
相关问题
centos7 编写批量修改文件后缀名脚本,如批量将某个目录下的所有txt文件修改为sh文件
可以使用以下 Shell 脚本实现批量修改文件后缀名:
```
#!/bin/bash
# 修改文件后缀名的脚本
# 需要修改的文件后缀名
old_ext=".txt"
new_ext=".sh"
# 需要修改的目录
dir_path="/path/to/dir"
# 进入目录
cd $dir_path
# 批量修改文件后缀名
for file in *.${old_ext}
do
mv "$file" "${file/%${old_ext}/${new_ext}}"
done
echo "文件后缀名修改完成!"
```
在脚本中,我们首先定义了需要修改的文件后缀名和需要修改的目录,然后使用 `cd` 命令进入目录。接着使用 `for` 循环遍历目录中所有以 `.txt` 结尾的文件,使用 `mv` 命令将文件后缀名修改为 `.sh`。最后输出修改完成的提示信息。
将上述脚本保存为 `rename.sh`,然后运行 `chmod +x rename.sh` 命令赋予脚本执行权限,最后执行 `./rename.sh` 即可批量修改文件后缀名。
centos7下把a目录下的文件所有后缀为txt修改为log
你可以使用以下命令将 a 目录下的所有后缀为 txt 的文件修改为 log:
```
cd a
rename 's/\.txt$/.log/' *.txt
```
其中,`cd a` 是进入 a 目录;`rename` 命令是批量重命名文件的命令,`s/\.txt$/.log/` 表示将文件名中的 .txt 后缀替换为 .log;`*.txt` 表示要重命名的文件名符合 *.txt 模式。