使⽤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
}'
输出
*%%$#@
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论