[英]bash: recursively move all matched files in sub directory of parent to new sub directory
我一直試圖遞歸地將父目錄下所有匹配的文件移動到新目錄下。 當前結構如下(除了wave文件,還有其他文件,需要將它們排除在外):
.
├── a
│ ├── a.wav
│ └── media.dir
├── b
│ ├── b.wav
│ └── media.dir
├── c
│ ├── c.wav
│ └── media.dir
└── d
├── d.wav
└── media.dir
我想將每個目錄中的wave文件移動到其相應的media.dir中。 到目前為止,我有這個,它可以用於比賽,但不能移動文件(當我回聲而不是mv時,我可以確認文件):
for dir in */
do
find . -iname '*.wav' -print0 | xargs -0 -I{} mv '{}' "$dir/media.dir"
done
您可能想要find "$dir"
而不是find .
在您的代碼中:
for dir in */
do
find "$dir" -iname '*.wav' -print0 | xargs -0 mv -t "$dir/media.dir"
done
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.