Linux rename文件
时间: 2023-08-31 14:12:47 浏览: 111
在Linux中,有多种方法可以重命名文件。其中一种方法是使用sed结合for循环的方式。在这种方法中,可以使用sed命令将文件名中的特定字符串替换为新的字符串。例如,可以使用以下命令将文件名中的"test"替换为"true":
```bash
#!/bin/bash
for file in `ls *.txt`
do
mv "$file" `echo $file|sed 's#test#true#g'`
done
```
这个脚本将遍历当前目录下所有以".txt"结尾的文件,并将文件名中的"test"替换为"true"。注意,这种方法只适用于简单的字符串替换,如果需要使用正则表达式进行更复杂的替换,可以使用rename命令。rename命令支持正则表达式,可以方便地批量重命名文件。以下是一些使用rename命令的示例:
```bash
# 将文件名中的"AA"替换为"aa"
rename "s/AA/aa/" *
# 将文件名中的".html"后缀替换为".php"后缀
rename "s/.html/.php/" *
# 将文件名中以".txt"结尾的".txt"删除
rename "s/.txt//" *.txt
# 修改任意目录下以指定后缀结尾的文件的后缀(交互式)
#!/bin/bash
read -p "old extension:" oldext
read -p "new extension:" newext
read -p "The directory:" dir
cd $dir
for file in $(ls $dir | grep .$oldext)
do
name=$(ls $file | cut -d. -f1)
mv $file ${name}.$newext
echo "$name.$oldext => $name.$newext"
done
echo "all files has been modified."
```
以上是一些在Linux中重命名文件的方法,可以根据具体需求选择适合的方法。
#### 引用[.reference_title]
- *1* *3* [Linux文件重命名的几种方法 rename](https://blog.csdn.net/wuli13141516/article/details/104187999)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* [Linux rename命令](https://blog.csdn.net/qq_27870421/article/details/93967444)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文