博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Shell命令_awk命令
阅读量:6920 次
发布时间:2019-06-27

本文共 3804 字,大约阅读时间需要 12 分钟。

# awk ‘条件1{动作1} 条件2{动作2}…’ 文件名
条件( Pattern):
一般使用关系表达式作为条件
x > 10 判断变量 x是否大于10
x>=10 大于等于
x<=10 小于等于
动作( Action):
格式化输出
流程控制语句
文本信息:vim score.txt
1
2
3
4
ID Name PHP Linux MySQL Average
1 Liming 82 95 86 87.66
2 Sc 74 96 87 85.66
3 Gao 99 83 93 91.66

1、 输出score.txt每行内容,第2行+\t+第6行+\n

printf行尾不输出换行;print行为输出换行

1
2
3
4
5
6
7
8
9
10
[root@V2 tmp]
# cat score.txt
D Name PHP Linux MySQL Average
1 Liming 82 95 86 87.66
2 Sc 74 96 87 85.66
3 Gao 99 83 93 91.66
[root@V2 tmp]
# awk '{printf $2 "\t" $6 "\n"}' score.txt 
Name    Average
Liming  87.66
Sc      85.66
Gao     91.66

2、输出df第1,3行内容

1
2
3
4
5
6
7
8
9
10
[root@V2 tmp]
# df -h
Filesystem                 Size  Used Avail Use% Mounted on
/dev/mapper/vg_v2-lv_root  
36G  5.0G   29G  15% /
tmpfs                      931M   72K  931M   1%
/dev/shm
/dev/sda1                 
485M   40M  421M   9%
/boot
[root@V2 tmp]
# df -h | awk '{print $1 "\t" $3}'
Filesystem      Used
/dev/mapper/vg_v2-lv_root      
5.0G
tmpfs   72K
/dev/sda1      
40M

3、输出下面内人中的1

35158-20161013105625687-275671897.png

1
df
-h|
grep
tmpfs|
awk
'{print $5}'
|
cut
-d
"%"
-f 1

4、BEGIN

1
2
3
4
5
6
[root@V2 tmp]
# awk 'BEGIN{print "这里是开始前输出"}{printf $2 "\t" $6 "\n"}' score.txt
这里是开始前输出
Name    Average
Liming  87.66
Sc      85.66
Gao     91.66

5、END

1
2
3
4
5
6
7
[root@V2 tmp]
# awk 'BEGIN{print "这里是开始前输出"}END{print "这里是结束输出"}{printf $2 "\t" $6 "\n"}' score.txt   
这里是开始前输出
Name    Average
Liming  87.66
Sc      85.66
Gao     91.66
这里是结束输出

6、FS设置分隔符

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
[root@V2 tmp]
# cat /etc/passwd | grep "/bin/bash" | awk 'BEGIN {FS=":"} {printf $1 "\t" $3 "\n"}'
root    0
chenzhi 500
mysql   27
[root@V2 tmp]
# cat /etc/passwd
root:x:0:0:root:
/root
:
/bin/bash
bin:x:1:1:bin:
/bin
:
/sbin/nologin
daemon:x:2:2:daemon:
/sbin
:
/sbin/nologin
adm:x:3:4:adm:
/var/adm
:
/sbin/nologin
lp:x:4:7:lp:
/var/spool/lpd
:
/sbin/nologin
sync
:x:5:0:
sync
:
/sbin
:
/bin/sync
shutdown
:x:6:0:
shutdown
:
/sbin
:
/sbin/shutdown
halt:x:7:0:halt:
/sbin
:
/sbin/halt
mail:x:8:12:mail:
/var/spool/mail
:
/sbin/nologin
uucp:x:10:14:uucp:
/var/spool/uucp
:
/sbin/nologin
operator:x:11:0:operator:
/root
:
/sbin/nologin
games:x:12:100:games:
/usr/games
:
/sbin/nologin
gopher:x:13:30:gopher:
/var/gopher
:
/sbin/nologin
ftp
:x:14:50:FTP User:
/var/ftp
:
/sbin/nologin
nobody:x:99:99:Nobody:/:
/sbin/nologin
dbus:x:81:81:System message bus:/:
/sbin/nologin
usbmuxd:x:113:113:usbmuxd user:/:
/sbin/nologin
vcsa:x:69:69:virtual console memory owner:
/dev
:
/sbin/nologin
rpc:x:32:32:Rpcbind Daemon:
/var/cache/rpcbind
:
/sbin/nologin
rtkit:x:499:497:RealtimeKit:
/proc
:
/sbin/nologin
avahi-autoipd:x:170:170:Avahi IPv4LL Stack:
/var/lib/avahi-autoipd
:
/sbin/nologin
abrt:x:173:173::
/etc/abrt
:
/sbin/nologin
rpcuser:x:29:29:RPC Service User:
/var/lib/nfs
:
/sbin/nologin
nfsnobody:x:65534:65534:Anonymous NFS User:
/var/lib/nfs
:
/sbin/nologin
haldaemon:x:68:68:HAL daemon:/:
/sbin/nologin
gdm:x:42:42::
/var/lib/gdm
:
/sbin/nologin
ntp:x:38:38::
/etc/ntp
:
/sbin/nologin
apache:x:48:48:Apache:
/var/www
:
/sbin/nologin
saslauth:x:498:76:
"Saslauthd user"
:
/var/empty/saslauth
:
/sbin/nologin
postfix:x:89:89::
/var/spool/postfix
:
/sbin/nologin
pulse:x:497:496:PulseAudio System Daemon:
/var/run/pulse
:
/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:
/var/empty/sshd
:
/sbin/nologin
tcpdump:x:72:72::/:
/sbin/nologin
chenzhi:x:500:500:chenzhi:
/home/chenzhi
:
/bin/bash

mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/bash

[root@V2 tmp]
# cat /etc/passwd | grep "/bin/bash" | awk 'BEGIN {FS=":"} {printf $1 "\t" $3 "\n"}'
root    0
chenzhi 500
mysql   27

7、逻辑运算

grep -v Name 删除包含内容为"Name"的行

awk '$6 >= 87 {printf $2 "\n" }  计算第6行大于87的 

1
2
3
4
5
6
7
8
[root@V2 tmp]
# cat score.txt
D Name PHP Linux MySQL Average
1 Liming 82 95 86 87.66
2 Sc 74 96 87 85.66
3 Gao 99 83 93 91.66
[root@V2 tmp]
# cat score.txt | grep -v Name | awk '$6 >= 87 {printf $2 "\n" }'
Liming
Gao

转载地址:http://kfecl.baihongyu.com/

你可能感兴趣的文章
mupdf将pdf文件中的某页导出成图片
查看>>
自定义内置 tomcat,自定义spring boot 内置tomcat的404页面
查看>>
CentOS7安装Java JDK 1.8
查看>>
Bluetooth 4.0 mio alpha watch 心率监护应用 2
查看>>
linux之Find命令总结
查看>>
Nginx开启目录浏览
查看>>
单点登陆的实现(一)
查看>>
智慧生态何以成海尔颠覆性网器?
查看>>
你该知道的Java注释!
查看>>
13个web网站访问速度测速服务
查看>>
思科AP关联日志
查看>>
静态、动态、粘滞端口安全
查看>>
云原生生态周报 Vol. 5 | etcd性能知多少
查看>>
我的友情链接
查看>>
Java 挂JDB 远程调试
查看>>
javascript内置顶层函数
查看>>
在Linux系统中用LoadRunner做压力测试需要开启rstat协议
查看>>
虚拟化技术漫谈
查看>>
前端面试题及答案整理
查看>>
phpmyadmin在PHP7中显示空白的解决办法!
查看>>