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
    }'
     
    
    输出
    *%%$#@
    
    
  • 相关阅读:
    mysql安装
    Apache 403 错误解决方法-让别人可以访问你的服务器
    windows安装xampp时出现,unable to realloc xxxxxxxx bytes
    spring-mvc整合jquery cropper图片裁剪插件
    Android 贝塞尔曲线
    Android 桌面生成快捷方式
    Plugin is too old, please update to a more recent version, or set ANDROID_DAILY_OVERRIDE environment variable to “*****”
    Android TextView 字符串展示不同大小文字
    Android 6.0权限问题
    Android 部分机型GridView四周默认间距
  • 原文地址:https://www.cnblogs.com/muahao/p/6729603.html
Copyright © 2011-2022 走看看