日期:2014-05-16  浏览次数:20569 次

如何用shell获取linux目录下的文件名呢?

原文来自: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

?