首页 笔记 图片 查字 
所属分类:Linux
浏览:73
内容:

shell 文件路径处理(文件路径(dirname)、文件名(basename)、文件名后缀(basename))

1、获取文件名(带后缀):basename
file_path=/root/test/files/file123.txt
file_name=`basename $file_path`
echo ${file_name}

2、获取文件名(不带后缀):basename
file_path=/root/test/files/file123.txt
file_name=`$(basename $file_path .txt)`
echo ${file_name}

3. 获取路径(不包含文件名):dirname
file_path=/root/test/files/file123.txt
file_dir=`dirname $file_path`
echo ${file_dir}

4、获取查找字符右侧字符串:
${var#*/} 解析:左起,找到第一个'/'字符,返回其后面的内容(不含'/')
${var##*/} 解析:左起,找到最后一个'/'字符,返回其后面的内容(不含'/')
${var%/*} 解析:右起,找到第一个'/'字符,返回其前面的内容(不含'/')
${var%%/*} 解析:右起,找到最后一个'/'字符,返回其前面的内容(不含'/')

#代表左起,%代表右起
两个符号代表最后一个字符,一个符号代表第一个字符
#:左起第一个
##: 左起最后一个
%:右起第一个
%%:右起最后一个

file_path=/root/test/files/file123.txt
echo  ${file_path##*/}
echo  ${file_path%%/*}