$ 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
在当前文件夹中创建一个。
答案1
在这种情况下,您需要-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