首页 > 代码库 > 使用awk提取字符串中的数字或字母
使用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 }‘ 输出 *%%$#@
使用awk提取字符串中的数字或字母
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。