【shell】文本的提取——${}、##和%%使用范例

参考:https://blog.csdn.net/qq_30130417/article/details/80911989
在shell里掌握这一本领非常实用,虽然##、%%的操作其实是将文本去掉,但这其实就是提取我们想要的文本

符号介绍

  • #:当要去掉的文本位于左侧时使用
  • %:当要去掉的文本位于右侧时使用
  • 要定位的字符:比如要定位的字符是“.”,则是“.”
  • *:与#或%搭配使用
    当与#搭配时,“ * ”在要定位的字符的左边
    当与%搭配时,“ * ”在要定位的字符的右边
  • 1个#表示要定位的字符出现的第一个位置
    2个#(即##)表示要定位的字符出现的最后一个位置
  • 相反地:
    2个%表示要定位的字符出现的第一个位置
    1个%(即%%)表示要定位的字符出现的最后一个位置

实例

file=svm_pseaac_maccs.csv

想要的字符串 含义 代码
svm 删掉第一个_及其右边的字符串 ${file%%_*}
svm_pseaac_maccs 删掉第一个.(=最后一个)及其右边的字符串 ${file%%.*}或${file%.*}
maccs.csv 删掉最后一个_及其左边的字符串 ${file##*_}
pseaac_maccs.csv 删掉第一个_及其左边的字符串 ${file#*_}
csv 删掉第一个.(=最后一个)及其左边的字符串 ${file#*.}或${file##*.}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容