zoukankan      html  css  js  c++  java
  • 使用awk提取字符串中的数字或字母

    1.提取字符串中的数字

    $ echo 'dsFUs34tg*fs5a%8ar%$#@' |awk -F "" '
    {
      for(i=1;i<=NF;i++) 
      {  
        if ($i ~ /[[:digit:]]/)     
        {
          str=$i
          str1=(str1 str)
        }  
      } 
      print str1
    }'
     
    输出
    3458
    

    $ echo 'dsFUs34tg*fs5a%8ar%$#@' |awk -F "" '
    {
      for(i=1;i<=NF;i++) 
      {  
        if ($i ~ /[0-9]/)             
        {
          str=$i
          str1=(str1 str)
        }  
      } 
      print str1
    }'
     
    输出
    3458
    

    2.提取字符串中的小写字母

    $ echo 'dsFUs34tg*fs5a%8ar%$#@' |awk -F "" '
    {
      for(i=1;i<=NF;i++) 
      {  
        if ($i ~ /[[:lower:]]/)         
        {
          str=$i
          str1=(str1 str)
        }  
      } 
      print str1
    }'
     
    输出
    dsstgfsaar
    

    3.提取字符串中的大写字母

    $ echo 'dsFUs34tg*fs5a%8ar%$#@' |awk -F "" '
    {
      for(i=1;i<=NF;i++) 
      {  
        if ($i ~ /[[:upper:]]/)         
        {
          str=$i
          str1=(str1 str)
        }  
      } 
      print str1
    }'
     
    输出
    FU
    

    4.提取字符串中的字母(不区分大小写)
    法一:

    $ echo 'dsFUs34tg*fs5a%8ar%$#@' |awk -F "" '
    {
      for(i=1;i<=NF;i++) 
      {  
        if ($i ~ /[a-z]/)                                                                 
        {
          str=$i
          str1=(str1 str)
        }  
      } 
      print str1
    }'
     
    输出
    dsFUstgfsaar
    
    

    法二:

    $ echo 'dsFUs34tg*fs5a%8ar%$#@' |awk -F "" '
    {
      for(i=1;i<=NF;i++) 
      {  
        if ($i ~ /[[:alpha:]]/)            
        {
          str=$i
          str1=(str1 str)
        }  
      } 
      print str1
    }'
     
    输出:
    dsFUstgfsaar
    

    5.提取字符串中的非数字字符

    法一:
     
    $ echo 'dsFUs34tg*fs5a%8ar%$#@' |awk -F "" '
    {
      for(i=1;i<=NF;i++) 
      {  
        if ($i ~ /[^0-9]/)       
        {
          str=$i
          str1=(str1 str)
        }  
      } 
      print str1
    }'
     
    输出
    dsFUstg*fsa%ar%$#@
    
    

    法二:

    $ echo 'dsFUs34tg*fs5a%8ar%$#@' |awk -F "" '
    {
      for(i=1;i<=NF;i++) 
      {  
        if ($i !~ /[0-9]/)     
        {
          str=$i
          str1=(str1 str)
        }  
      } 
      print str1
    }'
     
    输出
    dsFUstg*fsa%ar%$#@
     
    

    法三:

    echo 'dsFUs34tg*fs5a%8ar%$#@' |awk -F "" '
    {
      for(i=1;i<=NF;i++) 
      {  
        if ($i ~ /[^[:digit:]]/)        
        {
          str=$i
          str1=(str1 str)
        }  
      } 
      print str1
    }'
     
    输出
    dsFUstg*fsa%ar%$#@
    

    6.提取字符串中的除数字字母外的字符

    法一:

    $ echo 'dsFUs34tg*fs5a%8ar%$#@' |awk -F "" '
    {
      for(i=1;i<=NF;i++) 
      {  
        if ($i ~ /[^0-9a-zA-Z]/)         
        {
          str=$i
          str1=(str1 str)
        }  
      } 
      print str1
    }'
     
    输出:
    *%%$#@
     
    

    法二:

    $ echo 'dsFUs34tg*fs5a%8ar%$#@' |awk -F "" '
    {
      for(i=1;i<=NF;i++) 
      {  
        if ($i ~ /[^[:alnum:]]/)         
        {
          str=$i
          str1=(str1 str)
        }  
      } 
      print str1
    }'
     
    输出:
    *%%$#@
     
    

    法三:

    $ echo 'dsFUs34tg*fs5a%8ar%$#@' |awk -F "" '
    {
      for(i=1;i<=NF;i++) 
      {  
        if ($i ~ /[^[:digit:]]/ && $i ~ /[^[:lower:]]/ && $i ~ /[^[:upper:]]/)         
        {
          str=$i
          str1=(str1 str)
        }  
      } 
      print str1
    }'
     
    
    输出
    *%%$#@
    
    
  • 相关阅读:
    [数分提高]2014-2015-2第6教学周第2次课(2015-04-09)
    牛吃草问题
    [家里蹲大学数学杂志]第395期中科院2015年高校招生考试试题
    PostreSQL崩溃试验全记录
    EnterpriseDb公司的Postgres Enterprise Manager 安装图解
    EnterpriseDB公司的 Postgres Solution Pack (一)
    PostgreSQL调整内存与IO的参数说明
    查内存命令之free
    PPAS通过DBLink,访问Oracle数据库
    PPAS的MTK tool 工具使用说明
  • 原文地址:https://www.cnblogs.com/muahao/p/6729603.html
Copyright © 2011-2022 走看看