Linux bash 判断当前路径下的文件名是否含指定字符

在bash中,使用“ =~ ”进行字符包含的判断。

看例子:

需求:判断路径中是否含zip压缩文件,若有则将其解压。

该需求需判断ls中的文件是否包含".zip"关键字
首先使用

FILES=$(ls)

绑定当前路径下的文件名,存为list到FILES
再使用for循环遍历 FILES

for FILE in $FILES
do
    if [[ $FILE =~ ".zip" ]]
    then
        ZIP_FILE=$FILE
        echo "zip file name: $ZIP_FILE"
        unzip $ZIP_FILE
    fi
done

完整代码:

#!/bin/bash
FILES=$(ls)
for FILE in $FILES
do
    if [[ $FILE =~ ".zip" ]]
    then
        ZIP_FILE=$FILE
        echo "zip file name: $ZIP_FILE"
        unzip $ZIP_FILE
    fi
done

你可能感兴趣的:(Linux)