$ 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