shell高效获取分割字符串的方法?


有一个字符串的变量,如下定义
A='abc.sina.txt'
想要获取后面名 txt
目前使用awk来获取: echo "$A" | awk -F'.' '{print $NF}'
这种方法感觉不是很好,想找一个更简单的获取方法。

可以直接使用shell的变量分割

       
       
  1. echo ${A##*.}

问题换成获取文件名后缀更好些,给你个比较全的五个方法:

       
       
  1. A='abc.sina.txt'
  2. echo $A | awk -F . '{if (NF>1) {print $NF}}'
  3. echo $A | sed  's/.*\.//'
  4. echo $A | rev | cut -d . -f 1 | rev
  5. echo ${A/*./}
  6. echo ${A##*.}
       
       
  1. A='abc.sina.txt';echo ${A:(-3)}

 
 
  1. b=`echo ${A} | cut -d '.' -f3`
  2. echo ${b}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值