shell截取字符串

在截取shell变量中的子串中,有很多办法,下面简单介绍一种。利用变量自身以及特殊的符号即可实现
file=/dir1/dir2/dir3/my.file.txt
要求截取一下字符串
file.txt
txt
/dri1/dir2/dir3
null
dir1/dir2/dir3/my.file.txt
/dir1/dir2/dir3/my.file
/dir1/dir2/dir3/my
my.file.txt
处理方法:
echo ${file#*.}    去掉第一点以及左边的内容
echo ${file##*.}   去掉最后一个点以及左边的内容
echo ${file%/*}    去掉最后一个/以及右边的内容
echo ${file%%/*}   去掉第一个/以及右边的内容
echo ${file#*/}     去掉第一个/以及左边的内容
echo ${file%.*}     去掉最后一个点以及右边的内容
echo ${file%%.*}    去掉第一个点以及右边的内容
echo ${file##*/}     去掉最后一个/以及左边的内容
解析:如果最前面出现的是#好那么就是代表去掉左边的内容,一个#号代表的是去掉第一个出现的某个字符的左边的内容,两个#代表的是去掉最后一个出现字符的左边的内容,%正好相反,代表的是去掉右边,而且%代表的是去掉最后一个出现的,%%代表的是第一个出现的。选取的字符出现的位置也有差别,#是后面加上*号,然后添加你定位的符号,然而%是先定位符号再加上*号。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值