我有两个文件夹如下:
obj = {
obj1: {
obj2: {
data: 'whatever'}}}
我想要做的是识别folder1中与folder2中文件名相同的文件,与扩展名无关,并将它们传输到folder2。输出应为:
var obj = creator('obj.obj1.obj2.data', 20);
这是我到目前为止所得到的:
folder1
file1.shp
file1.dbf
file2.shp
file2.dbf
file3.shp
file3.dbf
folder2
file1.prj
file2.prj
file4.prj
这是我从这段代码中获得的,但文件不会从folder1移动到folder2。
folder2
file1.prj
file2.prj
file4.prj
file1.shp
file1.dbf
file2.shp
file2.dbf
抱歉,我昨天开始学习这种编程,所以非常感谢任何帮助。
[编辑]
代码在第3行中没有回音。感谢那些在下面评论指出它的人。
for i in folder2/*.*; do
FILE=$(basename "$i")
echo find folder1 -name ${FILE%.*}.* -exec mv -i {} folder2 \;
done
答案 0 :(得分:0)
我只是这样试过,它对我有用......
#!/bin/bash
for f in folder2/*
do
filename=${f##*/}
filename_without_ext=${filename%.*}
for ff in ${filename_without_ext[@]}
do
find folder1 -name ${ff}.* -exec mv -i {} folder2 \;
done
done