0
我有兩個文件夾,如下所示:獲取文件夾中文件的名稱,並使用它們從另一文件夾移動到具有這些名稱的文件中?
folder1
file1.shp
file1.dbf
file2.shp
file2.dbf
file3.shp
file3.dbf
folder2
file1.prj
file2.prj
file4.prj
我想要做的是找出文件夾1具有相同的文件名的文件夾2中的文件,獨立的擴展以及傳輸他們文件夾2。輸出應該是:
folder2
file1.prj
file2.prj
file4.prj
file1.shp
file1.dbf
file2.shp
file2.dbf
這是我這麼遠:
for i in folder2/*.*; do
FILE=$(basename "$i")
echo find folder1 -name ${FILE%.*}.* -exec mv -i {} folder2 \;
done
這是我離開的這段代碼,但文件不會從文件夾1移至文件夾2。
find folder1 -name file1.* -exec mv -i {} folder2 ;
find folder1 -name file2.* -exec mv -i {} folder2 ;
find folder1 -name file3.* -exec mv -i {} folder2 ;
對不起,我昨天開始學習這種編程,所以非常感謝任何幫助。
[編輯]
代碼工作無回聲線3.感謝那些誰以下評論指出來。
for i in folder2/*.*; do
FILE=$(basename "$i")
find folder1 -name ${FILE%.*}.* -exec mv -i {} folder2 \;
done
我認爲你需要的'*'(例如使用'\ *'或引用逃脫:'」 file1。*「' - 否則shell會擴展它並找不到匹配結果 – Kenney
您是否添加'echo'來首先測試命令並忘記刪除它? –
您刪除了'echo' ???您需要啓動'找到'直接不要回顯 –