原文来自:http://bbs.csdn.net/topics/330238880
遇到一个很繁琐的事情,有两个目录a、b,两个文件夹目录里有一些文件的文件名是一样,不过后缀名不同,我想把a文件夹下跟b文件夹里相同文件名的文件覆盖到b去,并删除b里同名而不同后缀的文件,文件很多,我想用shell来试写这样一个功能,不过本人刚接触shell,还不清除怎么用shell来获取目录下的文件名来进行操作,所以请教一下大家:)
我觉得可用的答案不错的这个,记录下~
#!/bin/bash
FOLDER_A=/home/joe/test/a
FOLDER_B=/home/joe/test/b
for file_a in ${FOLDER_A}/*; do
file_a_prefix=${file_a:%.*}
file_prefix=${file_a_prefix#${FOLDER_A}/*}
#rm -f $FOLDER_B/${file_prefix}.*
cp $file_a $FOLDER_B/
done