【问题标题】:Remove a Dynamic Suffix Pattern from String in Unix Shell Scripting在 Unix Shell 脚本中从字符串中删除动态后缀模式
【发布时间】:2014-07-15 03:54:41
【问题描述】:

我有以下格式的数据:

2.7G58%/usr
8%/oravl02
49%/oravl01
98%/osszoneusr/osszone/user

我需要删除从行首到百分比的所有内容,以便上述示例数据的输出为:

/usr
/oravl02
/oravl01
/osszoneusr/osszone/user

我正在专门寻找 linux 内置的字符串条带化或 sed 作为解决方案。

【问题讨论】:

    标签: linux shell unix sed scripting


    【解决方案1】:

    使用awk

    awk -F '%' '{print $2}' file
    

    使用sed

    sed -i.bak 's/^.*%//' file
    

    使用cut

    cut -d% -f2 file
    

    【讨论】:

      【解决方案2】:

      awk 变体。

      awk -F% '$0=$NF' file
      /usr
      /oravl02
      /oravl01
      /osszoneusr/osszone/user
      

      【讨论】:

        【解决方案3】:
        Please try  in below ways
        
        cut: the delimiter must be a single character
        
        bcsmc2rtese001 [~/Shell_p]$ cut -d '%' -f2 text1.txt  
        /usr  
        /oravl02   
        /oravl01  
        
        
        bcsmc2rtese001 [~/Shell_p]$ awk -F "%" '{print $2}' text1.txt  
        /usr  
        /oravl02  
        /oravl01  
        /osszoneusr/osszone/user  
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2017-01-25
          • 2016-05-31
          • 1970-01-01
          • 1970-01-01
          • 2017-03-18
          • 2012-12-21
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多