在两个不同的目录中检查文件名(Unix)

时间:2015-10-05 14:36:33

标签: unix

说我有两个不同的目录/ root / dir1& /根/ DIR2。 Dir1有一些扩展名为.xls的文件。我必须将dir1中的文件名(.xls ext)与dir2(.xls ext)中的文件名进行比较,如果匹配则将相应的文件移动到dir3,如果不匹配则将文件移动到dir2。 帮我解决unix中的脚本。

2 个答案:

答案 0 :(得分:0)

例如:

for f in $(comm -1 -2 <(ls dir1) <(ls dir2)); do cp dir1/$f dir3/; done
for f in $(comm -2 -3 <(ls dir1) <(ls dir2)); do cp dir1/$f dir2/; done

答案 1 :(得分:0)

Tryout this:

for file in /dir1/*.xls
do
   if [ -f /dir2/$file ]
   then
       mv $file $dir3
   else
       mv $file $dir2
    fi
done