把当前目录(包含子目录)下所有后缀为“.txt”的文件后缀变更为“.h”,使用shell编程
时间: 2023-09-18 15:13:03 浏览: 258
可以使用以下脚本将当前目录及其所有子目录下的所有后缀为“.txt”的文件后缀名修改为“.h”:
```bash
#!/bin/bash
for file in $(find . -name "*.txt")
do
mv "$file" "${file%.txt}.h"
done
```
解释:
- `find` 命令用于查找当前目录及其所有子目录下的所有后缀为“.txt”的文件。
- `for` 循环遍历每个找到的文件,并使用 `mv` 命令将文件后缀名修改为“.h”。
注意:在执行脚本之前,请先备份所有要修改的文件以免意外删除或修改文件。
相关问题
用shell脚本实现把当前目录(包含子目录)下所有后缀为“.txt”的文件后缀变更为“.h”用上find和for
可以使用以下的shell脚本来实现把当前目录(包含子目录)下所有后缀为“.txt”的文件后缀变更为“.h”:
```
#!/bin/bash
#查找当前目录及其所有子目录下所有后缀为".txt"的文件,并将其后缀改为".h"
find . -type f -name "*.txt" | while read file; do
mv "$file" "${file%.txt}.h"
done
```
在脚本中,我们使用`find`命令查找当前目录及其所有子目录下所有后缀为“.txt”的文件,并使用`while read`命令逐行读取文件名。然后使用`${file%.txt}.h`来替换原文件后缀为“.h”,并使用`mv`命令将文件重命名为新文件名。
编写一个shell脚本,把当前目录(包含子目录)下所有后缀为“.txt”的文件后缀变更为“.h” 提示:find,for循环
好的,以下是可以实现你的需求的shell脚本:
```bash
#!/bin/bash
# 递归查找当前目录下所有后缀为".txt"的文件并将其后缀改为".h"
find . -type f -name "*.txt" | while read filename
do
mv "$filename" "${filename%.txt}.h"
done
```
这个脚本会在当前目录下查找所有后缀为".txt"的文件,包括子目录中的文件,并将后缀名改为".h"。
注意,如果在脚本执行过程中遇到权限不足的问题,可以在命令前加上`sudo`以获取管理员权限。
阅读全文