如何匹配文件中的文件扩展名

如何匹配文件中的文件扩展名

我想将文件移动到目录中,例如我有文件名 extlist,它包含

.exe
.lnk
.inf

我尝试使用这样的脚本

    #!/bin/sh
    a=`cat /home/harits/extlist`

    for f in $(find -type f -name "*.$a")
    do
    if [[ (this is difficult part) == $f]]
    then mv $f
    else
    echo "fail"
    fi
    done

并且我想移动该文件,当它在 extlist 中具有相同的扩展名时,我应该使用 bash 操作字符串吗?

抱歉我的英语很糟糕..,请指导我..

答案1

听起来我会用egrep这个,但是你必须改变extlist文件的格式以使用管道字符(“|”)而不是换行符。

for f in $(find . -type f | egrep -i '\.(exe|lnk|inf)$')
do
    mv $f destination
done

相关内容