我有以下設置,我想找到並移動文件。使用shell腳本查找和移動文件到合適的目錄
我有文件/home/backup/abc/123.wav
和/home/backup/xyz/456.wav
。 相同的目錄存在於/usr/src/abc
和/usr/src/xyz
,它沒有任何文件。
我想從home_dir中找到.wav文件並將它們移到特定的dest_dir。
所以123.wav應該移動到/ usr/src/abc,456.wav應該移動到/ usr/src/xyz。 我正在使用下面的命令。
home_dir=/home/backup/
dest_dir=/usr/src/
cd $home_dir && find . -iname "*.wav" -exec mv {} $dest_dir \;
但是,所有的.wav文件(123.wav和456.wav)移動到/ usr/src目錄,而不是其各自的目錄(/ usr/src目錄/ ABC和/ usr/src目錄/ XYZ)。
是否有可能實現我想要的? 請建議。
我想移動files.When我用 發現。 -iname「* .wav」-exec cp --parents {}「$ dest_dir」\; .wav文件複製爲123和456而不是123.wav和456.wav。 – rutu
在我建議的'cp'命令後,您可以使用'find。 -iname「* .wav」-delete「從源目錄中刪除所有文件。 – anubhava
.wav文件是隨機生成的,所以如果我在複製命令後使用刪除命令,是否有機會刪除任何不會被複制的文件? – rutu