Linux之awk 练习题-----文本处理

1.awk获取每个以C和E开头的名字。

[root@VM-4-13-centos awk]# cat renyuan.txt 
me age sex
jack 18  男
ben  28  男
Cici 38 女
wumen 48 男
chu 55 男
jj  42 男
eni  23 
emo 31 女
wuwu 22 女
hihi 25 
[root@VM-4-13-centos awk]# cat renyuan.txt | awk '{print $1}' |awk '/^C/;/^c/;/^E/;/^e/'
Cici
chu
eni
emo
View Code

 2.如何使用awk查询指定的字符

[root@VM-4-13-centos awk]# cat ip.txt 
10.10.49.100
10.10.49.101
10.10.49.100
10.10.49.102
10.10.49.101
10.12.49.100
[root@VM-4-13-centos awk]# cat ip.txt |awk '/10.12.49.100/{print $0}'
10.12.49.100
[root@VM-4-13-centos awk]# cat ip.txt |awk '/10.12.49.101/{print $0}'
[root@VM-4-13-centos awk]# cat ip.txt |awk '/10.10.49.101/{print $0}'
10.10.49.101
10.10.49.101
View Code

3.文件格式A,B,C,D四列,用awk取出C列。

[root@VM-4-13-centos awk]# cat abcd.txt 
A B C D
1 2 3 4
1 2 3 4
1 2 3 4
[root@VM-4-13-centos awk]# cat abcd.txt |awk '{print $3}'
C
3
3
3
View Code

4.linux:awk,输出第一列和最后一列

[root@VM-4-13-centos awk]# cat  abcd.txt 
A B C D
1 2 3 4
1 2 3 4
1 2 3 4
[root@VM-4-13-centos awk]# cat abcd.txt |awk '{print $1}'
A
1
1
1
[root@VM-4-13-centos awk]# cat abcd.txt |awk '{print $NF}'
D
4
4
4
View Code

 5.用awk,求avg.txt第二列的平均值

1 [root@VM-4-13-centos awk]# cat avg.txt 
2 30 31 32 33
3 41 42 43 44
4 51 52 53 54
5 [root@VM-4-13-centos awk]# awk '{sum+=$2}END{print sum/NR}' avg.txt 
6 41.6667
View Code

 6.linux命令,将一个文件的第10行打印出来

 1 [root@VM-4-13-centos awk]# cat 20hang.txt 
 2 11111111111111111
 3 222222222222222222
 4 33333333333333333
 5 44444444444444444444
 6 55555555555555555555555
 7 6666666666666666666666666666
 8 7777777777777777777777
 9 8888888888888888888888888
10 9999999999999999999
11 10101010101010101010101010100010
12 [root@VM-4-13-centos awk]# cat 20hang.txt | awk 'NR==10{print $0}'
13 10101010101010101010101010100010
View Code

 7.给一个文件,其内容每列之间用"|"分隔,将第三列打印出来

[root@VM-4-13-centos awk]# cat test.txt 
aa|bb|cc|dd|ff|
11|22|33|44|55|
aa|bb|cc|dd|ff|
[root@VM-4-13-centos awk]# awk -F "|" '{print $3}' test.txt 
cc
33
cc
View Code

 

posted @ 2022-11-25 09:52  家乐福的搬砖日常  阅读(64)  评论(0编辑  收藏  举报