shell循环文件夹,如果文件名中没有area,对其文件重命名
时间: 2023-05-14 16:05:02 浏览: 56
你可以使用以下的 shell 脚本来循环文件夹并对文件进行重命名:
```
#!/bin/bash
for file in /path/to/folder/*; do
if [[ ! "$file" =~ "area" ]]; then
mv "$file" "${file%.*}_new.${file##*.}"
fi
done
```
这个脚本会循环 `/path/to/folder/` 文件夹下的所有文件,如果文件名中不包含 "area",则会将文件重命名为原文件名加上 "_new" 后缀。例如,`example.txt` 会被重命名为 `example_new.txt`。
请注意,这个脚本只会重命名文件名,不会修改文件内容。如果你需要修改文件内容,请使用其他工具。
相关问题
shell循环文件夹,如果文件名大写,对其文件重命名
可以使用以下的 shell 脚本来循环文件夹并对大写文件进行重命名:
```
#!/bin/bash
for file in /path/to/folder/*; do
if [[ -f "$file" && "${file^^}" == "$file" ]]; then
mv "$file" "${file,,}"
fi
done
```
这个脚本会遍历指定文件夹中的所有文件,如果文件名全为大写,则将其重命名为全小写。注意,这个脚本只会对文件进行重命名,不会对文件夹进行操作。
shell 获取文件夹 特定类型 文件名
在shell中,可以使用find命令来获取文件夹中特定类型的文件名。下面是一个示例命令:
```
find 文件夹路径 -type f -name "*.特定类型"
```
其中,你需要将`文件夹路径`替换为目标文件夹的路径,`*.特定类型`替换为你要查找的特定类型的文件名。例如,要获取文件夹`/home/user/documents`中所有的txt文件名,可以使用以下命令:
```
find /home/user/documents -type f -name "*.txt"
```
该命令会在指定的文件夹路径中递归地查找所有txt文件,并输出它们的文件名。
如果你只想要输出文件的相对路径而非绝对路径,可以使用`-printf`选项,并使用`%f`格式:
```
find 文件夹路径 -type f -name "*.特定类型" -printf "%f\n"
```
例如,要获取文件夹`/home/user/documents`中所有的txt文件的相对路径,可以使用以下命令:
```
find /home/user/documents -type f -name "*.txt" -printf "%f\n"
```
以上是使用`find`命令来获取文件夹中特定类型文件名的方法。希望对你有帮助!
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)