zoukankan      html  css  js  c++  java
  • Shell中 ##%% 操作变量名

    在linxu平台下少不了对变量名的处理,今天记录下shell中 ##%% 对变量名的操作。

    #操作左侧,%操作右侧。

    #号处理方式:

    对于单个#,处理对象为变量中指定的第一个符号左侧字符串,

    对于两个##,处理对象为变量中指定的最后一个符号左侧字符串。

    %号处理方式:

    对于单个%,操作对象是变量中指定的最后一个符号右侧字符串,

    对于两个%%,处理对象为变量中指定的第一个符号右侧字符串。

    示例:

    直接描述太过抽象了,我们结合实际例子再看下具体用法。

      1 fq=/pub/data/groupA/ANI/F19/01.fq/HNX0023_1.fq.gz
      2 
      3 
      4 echo "原始字符串fq: $fq"    返回原始字符串	/pub/data/groupA/ANI/F19/01.fq/HNX0023_1.fq.gz
      5 
      6 
      7 echo "#号处理"
      8 
      9 echo ${fq#/}	删除第一个字符“/”	pub/data/groupA/ANI/F19/01.fq/HNX0023_1.fq.gz
     10 echo ${fq##*_}	删除最后一个字符“_”及其左侧的字符	1.fq.gz     
     11 echo ${fq##*/}	删除最后一个字符“/”及其左侧的字符	HNX0023_1.fq.gz
     12 
     13 
     14 echo "*号处理"
     15 
     16 echo ${fq%_*}	删除最后一个字符“_”及其右侧的字符串	/pub/data/groupA/ANI/F19/01.fq/HNX0023
     17 echo ${fq%%_*}	删除第一个字符“_”及其右侧的字符串	/pub/data/groupA/ANI/F19/01.fq/HNX0023
     18 echo ${fq%%/*}	删除第一个字符“/”及其右侧的字符串	整个字符串被删除,返回空行
     19 echo ${fq%/*}	删除最后一个字符“/”及其右侧的字符串	/pub/data/groupA/ANI/F19/01.fq
     20 echo ${fq%_*}2.fq.gz    删除最后一个字符“_”及其右侧的字符串,连接新字符    /pub/data/groupA/ANI/F19/01.fq/HNX0023_2.fq.gz
    
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
  • 相关阅读:
    vue2.0阻止事件冒泡
    IconFont 图标制作和使用
    Gulp入门教程
    伪类实现特殊图形,一个span加三角形
    Vue渲染列表,在更新data属性后,列表未更新问题
    理解Array.prototype.slice.call(arguments)
    ;(function(){ //代码})(); 自执行函数开头为什么要加;或者!
    Hexo 搭建博客 本地运行 常见报错及解决办法
    说说JSON和JSONP,也许你会豁然开朗
    数组去重的常用方法
  • 原文地址:https://www.cnblogs.com/mmtinfo/p/11969565.html
Copyright © 2011-2022 走看看