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
    }'
     
    
    输出
    *%%$#@
    
    
  • 相关阅读:
    面试8:找二叉树的下个结点
    面试8:找二叉树的下个结点
    面试题7:重建二叉树
    面试题7:重建二叉树
    Kenneth A.Lambert著的数据结构(用python语言描述)的第一章课后编程答案
    基础的Mapgis三维二次开发-插件式
    面试题6:从尾到头打印链表
    C语言中声明和定义详解(待看。。
    面试题5:替换空格
    面试题5:替换空格
  • 原文地址:https://www.cnblogs.com/muahao/p/6729603.html
Copyright © 2011-2022 走看看