Bash
如何遞歸重命名子文件夾下的所有md類型文件?
$ tree . . ├── tmp1 │ └── acsfd.md ├── tmp2 │ └── adb.md └── tmp3 └── aa23aa.md ... └── tmpn └── random.md
要將所有
md
文件重命名為index.md
,我試過:
find . -name "*.md" -exec mv {} index.md \;
但這將刪除所有文件並在目前文件夾中
md
創建一個。index.md
在這種情況下,您需要
-execdir
而不是在包含匹配文件的目錄中-exec
執行:mv
$ tree . ├── tmp1 │ └── rand32726.md ├── tmp2 │ └── rand16097.md ├── tmp3 │ └── rand10683.md └── tmpn └── rand23531.md 4 directories, 4 files $ find . -iname '*.md' -execdir mv {} index.md \; $ tree . ├── tmp1 │ └── index.md ├── tmp2 │ └── index.md ├── tmp3 │ └── index.md └── tmpn └── index.md 4 directories, 4 files