1. %可以将文件名称从“名称.扩展名”这种格式中提取出来
用法:${VAR%.*}
原理:从$VAR中删除位于%右侧通配符所匹配的所有字符串。通配符从右向左匹配。
例子:
root@debian:/home/chicol/scripts/chapter_2# file_jpg="sample.jpg"
root@debian:/home/chicol/scripts/chapter_2# name=${file_jpg%.*}
root@debian:/home/chicol/scripts/chapter_2# echo $name
sample
2. #可以将扩展名从"名称.扩展名"这种格式中提取出来
用法:${VAR#*.}
原理:从$VAR中删除位于#右侧通配符所匹配的所有字符串。通配符从左向右匹配。
例子:
root@debian:/home/chicol/scripts/chapter_2# extension=${file_jpg#*.}
root@debian:/home/chicol/scripts/chapter_2# echo $extension
jpg
3. 贪婪模式%%和##
root@debian:/home/chicol/scripts/chapter_2# echo ${VAR%.*}
hack.fun.book
root@debian:/home/chicol/scripts/chapter_2# echo ${VAR%%.*}
hack
root@debian:/home/chicol/scripts/chapter_2# echo ${VAR#*.}
fun.book.txt
root@debian:/home/chicol/scripts/chapter_2# echo ${VAR##*.}
txt
阅读(952) | 评论(0) | 转发(0) |
本文介绍了在Shell脚本中如何使用变量扩展来处理文件名和扩展名。通过具体示例展示了如何仅提取文件名或扩展名,并解释了通配符的行为。此外还提到了贪婪模式的应用。

614

被折叠的 条评论
为什么被折叠?



