美文网首页
Shell 获取文件名和后缀

Shell 获取文件名和后缀

作者: Phantaom | 来源:发表于2019-05-22 15:59 被阅读0次

1.语法

#分别打印文件名和后缀名,其中files为整体名称,如:Chrome.exe
echo "filename: ${files%.*}"    # Chrome
echo "extension: ${files##*.}"  # exe

2.示例代码
模拟场景,打印C盘下folder文件中所有的文件名和后缀名(不包含文件夹)。

#!/bin/bash

function getdir(){
    for files in `ls $1`
    do  
        full_path=$1"/"$files
        file_path=$1
        file_name=$f
#如果是文件夹的话,则文件名和后缀相同,故在此过滤
        if [[ -f ${full_path} ]]; then
            echo "filename: ${files%.*}"
            echo "extension: ${files##*.}"
        fi
#如果发现文件夹下还有子文件夹,进行递归遍历
        if [[ -d ${full_path} ]]; then
            getdir ${full_path}
        fi
        echo "------split------"
    done
}

folder_path="/cygdrive/c/folder"

getdir ${folder_path}

read -n 1

相关文章

网友评论

      本文标题:Shell 获取文件名和后缀

      本文链接:https://www.haomeiwen.com/subject/zdduzqtx.html