> For the complete documentation index, see [llms.txt](https://kawsing.gitbook.io/opensystem/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://kawsing.gitbook.io/opensystem/andoid-shou-ji/untitled-4/linux-cli/rename-chan-ci-ji-pi-ci-xiu-gai-dang-an-ming-chen.md).

# rename單次及批次修改檔案名稱

### sudo apt install rename

### 練習，產生10個檔案

```
touch f{1..10}.txt
f1.txt  f10.txt  f2.txt  f3.txt  f4.txt  f5.txt  f6.txt  f7.txt  f8.txt  f9.txt
```

rename $1 $2 $3 &#x20;

1. \# $1: 要被取代的關鍵字 &#x20;
2. \# $2: 新的關鍵字 &#x20;
3. \# $3: 檔名符合這個規則的才取代

**rename支持通配符**

```
?可替代單個字符
*可替代多個字符
[charset]可替代charset集中的任意單個字符
```

rename f1 newf1 f1.txt

> f10.txt f3.txt f5.txt f7.txt f9.txt f2.txt f4.txt f6.txt f8.txt **newf1.txt**

\# 把檔案f2, ..., f9, f10 => 改成f002, ..., f009, f010

### rename f f0 f?.txt

```
> ls
f10.txt  f3.txt  f5.txt  f7.txt  f9.txt
f2.txt   f4.txt  f6.txt  f8.txt  newf1.txt
 
> rename f f0 f?.txt

> ls
f02.txt  f04.txt  f06.txt  f08.txt  f10.txt
f03.txt  f05.txt  f07.txt  f09.txt  newf1.txt

```

## 把所有.txt 檔案改成.html

rename .txt .html \*.txt

```
> ls
f1.txt  f10.txt  f2.txt  f3.txt  f4.txt  f5.txt  f6.txt  f7.txt  f8.txt  f9.txt 
> rename .txt .html *.txt
> ls
f1.html   f2.html  f4.html  f6.html  f8.html
f10.html  f3.html  f5.html  f7.html  f9.html

```

### rename .html .php f\*.html

```
rename .html .php f*.html
> ls
f10.php  f2.php  f3.php  f4.php  f5.php  f6.php  f7.php  f8.php  f9.php
```

### rename 'y/a-z/A-Z/' \* 或 reanme f F \*

```
ls
f10.php  f1.php  f2.php  f3.php  f4.php  f5.php  f6.php  f7.php  f8.php  f9.php
rename 'y/a-z/A-Z/' *
F10.PHP  F1.PHP  F2.PHP  F3.PHP  F4.PHP  F5.PHP  F6.PHP  F7.PHP  F8.PHP  F9.PHP
```

把F變成F00

```
> ls
F1.php  F10.php  F2.php  F3.php  F4.php  F5.php  F6.php  F7.php  F8.php  F9.php
> rename F F00 *
> ls
F001.php   F002.php  F004.php  F006.php  F008.php
F0010.php  F003.php  F005.php  F007.php  F009.php

```
