今天上午我们学习了Linux高级语法的使用,令我印象最深的是awk和sed,他们是两个不太好懂的语法,但是学起来尤为有意思,特别是结合管道符之后,下面让我们来看看。
学习准备:
- 建立个人文件夹
- 复制
etc
下passwd
和root
下配置文件.
sed的用法是对一整行内容进行整理,并显示出用户想要看到的内容,而awk是比sed更好用,也更难用的用法,他可以对一行数据进行切片,然后分块整理,给你看你单独想看某个分区的内容,程老师讲的是,awk更多的是对列的数据进行整理,你也可以这么理解。
[root@localhost lzy]# df -h 查看当前硬盘使用情况
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root 17G 3.5G 14G 21% /
devtmpfs 975M 0 975M 0% /dev
tmpfs 992M 0 992M 0% /dev/shm
tmpfs 992M 11M 981M 2% /run
tmpfs 992M 0 992M 0% /sys/fs/cgroup
/dev/sda1 1014M 157M 858M 16% /boot
tmpfs 199M 4.0K 199M 1% /run/user/42
tmpfs 199M 40K 199M 1% /run/user/1000
[root@localhost lzy]# df -h | awk '{print $3}' 使用awk打印第三列
已用
3.5G
0
0
11M
0
157M
4.0K
40K
[root@localhost lzy]# head -2 passwd 使用head命令查看Passwd文件前两行内容
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
[root@localhost lzy]# head -2 passwd | cut -d: -f7 使用管道+cut,-d 是指定分界符,这里为:
/bin/bash
/sbin/nologin
接下来我们来看看awk如何查看,以及他是如何分片的
NR
代表定位到第几