하위 폴더 아래의 모든 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일치하는 파일이 포함된 디렉터리에서 실행해야 합니다 -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

관련 정보