更新时间:2022-09-13 16:56:35
1.提取字符串中的数字
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
$ 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.提取字符串中的小写字母
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
$ echo 'dsFUs34tg*fs5a%8ar%$#@' | awk -F "" '
{ for (i=1;i<=NF;i++)
{
if ($i ~ /[[:lower:]]/)
{
str=$i
str1=(str1 str)
}
}
print str1
}' 输出 dsstgfsaar |
3.提取字符串中的大写字母
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
$ echo 'dsFUs34tg*fs5a%8ar%$#@' | awk -F "" '
{ for (i=1;i<=NF;i++)
{
if ($i ~ /[[:upper:]]/)
{
str=$i
str1=(str1 str)
}
}
print str1
}' 输出 FU |
4.提取字符串中的字母(不区分大小写)
法一:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
$ 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.提取字符串中的非数字字符
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
法一: $ 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.提取字符串中的除数字字母外的字符
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
法一: $ 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
}' 输出 *%%$ #@
|