shell获取文件扩展名

basename example.tar.a.b.c.gz .c.gz
# => example.tar.a.b
 
FILE="example.tar.gz"
 
echo "${FILE%%.*}"     取头   example 
# => example
 
echo "${FILE%.*}"      去尾   example.tar.a.b.c
# => example.tar
 
echo "${FILE#*.}"      去头   tar.a.b.c.gz
# => tar.gz
 
echo "${FILE##*.}"     取尾   gz
# => gz
 
# 在bash中可以这么写
filename=$(basename "$fullfile")   
extension="${filename##*.}"
filename="${filename%.*}"
eg  fullfile=/mnt/cos2/venus_gram/ROM/leadcore_haige/leadcore_haige_AutoTag201608311742/cos-rom_1.2.-Leadcore_haige-201608311742.zip
filename=$(basename "$fullfile")   

echo "$filename"

cos-rom_1.2.-Leadcore_haige-201608311742.zip

extension="${filename##*.}"
echo "$extension"

zip

filename="${filename%.*}"
cos-rom_1.2.-Leadcore_haige-201608311742

你可能感兴趣的:(Shell/批处理)