サブフォルダの下のすべてのmdタイプのファイル名を再帰的に変更するには?

サブフォルダの下のすべての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現在のフォルダにファイルが作成されます。

答え1

この場合、-execdir一致するファイルを含むディレクトリで実行する必要があります-execmv

$ 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

関連情報