$ 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