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

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

浮生未歇 发布于 2017-06-26 字数 196 浏览 1137 回复 4

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

如果你对这篇文章有疑问,欢迎到本站 社区 发帖提问或使用手Q扫描下方二维码加群参与讨论,获取更多帮助。

扫码加入群聊

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

晚风撩人 2017-09-26 4 楼

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

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

虐人心 2017-08-13 3 楼

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

echo ${A##*.}

清晨说ぺ晚安 2017-07-22 2 楼

 A='abc.sina.txt';echo ${A:(-3)}

浮生未歇 2017-07-09 1 楼

 b=`echo ${A} | cut -d '.' -f3`
echo ${b}