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
    
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
  • 相关阅读:
    如何有效的写算法题的几个小tips
    题目
    记录加入博客园,申请开通cnblog
    关于套接字socket程序参数设置
    int main (int argc, const char * argv[0])及指针数组与数组指针
    sleep函数
    signal函数
    C htonl()函数
    位域unsigned char a:4
    关于TCP和UDP的一个理解
  • 原文地址:https://www.cnblogs.com/mmtinfo/p/11969565.html
Copyright © 2011-2022 走看看