您的位置:首页 > 其它

使用awk提取字符串中的数字或字母

2016-09-22 04:53 281 查看
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
相关文章推荐