shell中的一些特殊字符用法知识
条评论前言
shell越用越强大,一些特殊字符特殊用法比较难记,好记性不如烂笔头,网上摘抄的,留一份日后学习。很多事情其实是可以很好的处理的,一些小东西还是没必要引入python代码,直接shell自身就可以处理完成。
${[#%]} 获取文件名和后缀名
1 | f=file.tar.gz |
假设我们定义了一个变量为:
1 | file=/dir1/dir2/dir3/my.file.txt |
可以用 ${} 分别替换得到不同的值:
${file#*/}:删掉第一个/及其左边的字符串:dir1/dir2/dir3/my.file.txt${file##*/}:删掉最后一个/及其左边的字符串:my.file.txt${file#*.}:删掉第一个.及其左边的字符串:file.txt${file##*.}:删掉最后一个.及其左边的字符串:txt${file%/*}:删掉最后一个/及其右边的字符串:/dir1/dir2/dir3${file%%/*}:删掉第一个/及其右边的字符串:空值${file%.*}:删掉最后一个.及其右边的字符串:/dir1/dir2/dir3/my.file${file%%.*}:删掉第一个.及其右边的字符串:/dir1/dir2/dir3/my
记忆的方法为:
#是去掉左边(键盘上#在$的左边,从左向右删)%是去掉右边(键盘上%在$的右边,从右向左删)- 单一符号是最小匹配;两个符号是最大匹配
参考文档
本文标题:shell中的一些特殊字符用法知识
文章作者:凹凸曼
发布时间:2023-04-24
最后更新:2023-04-24
原始链接:https://sobaigu.com/shell-special-symbols.html
版权声明:转载请务必保留本文链接和注明内容来源,并自负版权等法律责任。