${i%.*} ${i%%.*} 笔记

#!/bin/bash
for i in `ls *$1`
do
   echo "${i%.*}"
   mv $i ${i%.*}.$2
done

 常见的批量更改文件后缀的脚本

[root@vm37-005 ~]# i=abc.def.ghi.jkl
[root@vm37-005 ~]# echo ${i%.*}
abc.def.ghi
[root@vm37-005 ~]# echo ${i%%.*}
abc
[root@vm37-005 ~]# echo ${i##*.}
jkl
[root@vm37-005 ~]# echo ${i#*.} 
def.ghi.jkl
[root@vm37-005 ~]# 

 实践后得知

${i%.*}:取最后一个"."之前的内容 (从 $i 的右边开始匹配模式子串 ".*" ,并将最短的匹配结果删除)

${i%%.*}:取第一个"."之前的内容 (从 $i 的右边开始匹配模式子串 ".*" ,并将最长的匹配结果删除)

${i##*.}:取最后一个"."之后的内容 (从 $i 的左边开始匹配模式子串 "*." ,并将最长的匹配结果删除)

${i#*.}:取第一个"."之后的内容 (从 $i 的左边开始匹配模式子串 "*." ,并将最短的匹配结果删除)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值