• 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
    
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
  • 相关阅读:
    数据库中的Convert
    xml Data Type Methods in sql server
    WITH common_table_expression (Transact-SQL)
    NuGet配置代理
    SQL Source Control
    3线-8线译码器
    git commit template
    PowerShell中和服务相关的命令
    how to backup and restore database of SQL Server
    上升时间最长的序列
  • 原文地址:https://www.cnblogs.com/mmtinfo/p/11969565.html
Copyright © 2020-2023  润新知