我是靠谱客的博主 娇气方盒,最近开发中收集的这篇文章主要介绍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 内嵌正则 提取字符串_使用awk提取字符串中的数字或字母的全部内容,希望文章能够帮你解决awk 内嵌正则 提取字符串_使用awk提取字符串中的数字或字母所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(39)

评论列表共有 0 条评论

立即
投稿
返回
顶部