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
    
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
  • 相关阅读:
    activity 之间传递参数
    手动创建一个Activity,完成页面跳转(intent 无参数)
    C++中汉字字符串的截取
    android基础知识清单。
    更改远程仓库
    设计模式六大原则
    事件订阅代码
    Python Mac ssl.SSLError certificate verify failed (_ssl.c:833)
    Python库中常见的 __all__ 变量是干啥的
    Thrift的使用-Python
  • 原文地址:https://www.cnblogs.com/mmtinfo/p/11969565.html
Copyright © 2011-2022 走看看