shell循环文件夹,如果文件名中没有area,对其文件重命名
时间: 2023-05-14 12:05:02 浏览: 80
你可以使用以下的 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脚本批量重命名文件后缀的3种实现方法,分别使用find + xargs +sed、for循环、rename等3种方法实现重命名文件后缀。其中,使用for循环的方法可以实现将目录下的文件名中的指定字符串替换为另一个字符串的功能,具体实现方法如下:
假设要将目录/home/user/old_files下的文件名中的old_替换为new_,可以使用如下的shell脚本:
```bash
#!/bin/bash
# 进入目录
cd /home/user/old_files
# 循环重命名文件
for file in old_*; do
mv "$file" "${file/old_/new_}"
done
```
其中,`cd`命令用于进入指定目录,`for`循环用于遍历目录下的所有文件,`mv`命令用于重命名文件,`${file/old_/new_}`表示将文件名中的`old_`替换为`new_`。
阅读全文