Awk下部
运维主要工作内容
核心三个:
- 数据不能丢
- 网站7*24小时运行
- 提升用户体验
实际具体职责:
监控:
- 查看网站监控 网站状态 网站流量(带宽)
- 根据监控提示(邮件 微信 电话)进行处理
备份:
- 备份的内容(配置 数据 脚本 网站程序代码)检查备份是否能用。
代码更新:代码上线 - 进行代码上线,代码回滚(老大)
其他项目
- 根据需求做一些项目(备份 优化 监控)
- 额外要求及自我学习
Awk命令额外用法:
一:首先创建本次环境
第一列为姓氏
第二列是名字
第一第二列合起来就是姓名
第三列是对应的ID号码
最后三列是三次捐款数量
[root@oldboyedu59 /oldboy]# cat /server/files/reg.txt
Zhang Dandan 41117397 :250:100:175
Zhang Xiaoyu 390320151 :155:90:201
Meng Feixue 80042789 :250:60:50
Wu Waiwai 70271111 :250:80:75
Liu Bingbing 41117483 :250:100:175
Wang Xiaoai 3515064655 :50:95:135
Zi Gege 1986787350 :250:168:200
Li Youjiu 918391635 :175:75:300
Lao Nanhai 918391635 :250:100:175
[root@oldboyedu59 /oldboy]# awk '/' /server/files/reg.txt
Wu Waiwai 70271111 :250:80:75
Wang Xiaoai 3515064655 :50:95:135
Lao Nanhai 918391635 :250:100:175
(1)第二列中以字母i结尾的行:
[root@apple /server/files]# awk '$2~/i$/' reg.txt 第二列以i结尾的行
Wu Waiwai 70271111 :250:80:75
Wang Xiaoai 3515064655 :50:95:135
Lao Nanhai 918391635 :250:100:175
[root@apple /server/files]# awk '$2~/i$/{print $1,$2,$3}' reg.txt 取出1列2列3列
Wu Waiwai 70271111
Wang Xiaoai 351506465
Lao Nanhai 918391635
(2)姓氏是Zhang的人,显示他的第二次捐款金额以及她的名字
[root@apple /server/files]# awk '$1~/^Zh/{print $1,$2,$3,$4,$5}' reg.txt
Zhang Dandan 41117397 :250:100:17 这一列中以…开头的
Zhang Xiaoyu 390320151 :155:90:201
[root@apple /server/files]# awk '/^Zh/{print $1,$2,$3,$4,$5}' reg.txt
Zhang Dandan 41117397 :250:100:175
Zhang Xiaoyu 390320151 :155:90:201 这一行中以…开头
[root@apple /server/files]# awk -F'[ :]+' '$1~/^Zh/{print $1,$2,$5}' reg.txt
Zhang Dandan 100
Zhang Xiaoyu 90
倒数第一列 $NF 倒数第二列 $(NF-1)
[root@apple /server/files]# awk -F'[ :]+' '$1~/^Zh/{print $1,$2,$(NF-1)}' reg.txt
Zhang Dandan 100
Zhang Xiaoyu 90
(3)显示所有ID号码最后一位数字是1或5的人的全名
[root@apple /server/files]# awk '$3~/1$|5$/{print $1,$2}' reg.txt
Zhang Xiaoyu
Wu Waiwai
Wang Xiaoai
Li Youjiu
Lao Nanhai
[root@apple /server/files]# awk '$3~/[15]$/{print $1,$2}' reg.txt
Zhang Xiaoyu
Wu Waiwai
Wang Xiaoai
Li Youjiu
Lao Nanhai
(4)显示所有人的全名,以姓,名的格式显示
[root@apple /server/files]# awk '{print $1","$2}' reg.txt
Zhang,Dandan
Zhang,Xiaoyu
Meng,Feixue
Wu,Waiwai
Liu,Bingbing
Wang,Xiaoai
Zi,Gege
Li,Youjiu
Lao,Nanhai
(5)显示xiaoyu的捐款,每个值都有一$开头
[root@apple /server/files]# awk '$2~/^Xi/{print $NF}' reg.txt|tr ":" "$"
$155$90$201
$50$95$135
[root@apple /server/files]# awk '$2~/^Xi/{gsub(/:/,"$",$4);print $4}' reg.txt
$155$90$201
$50$95$135
[root@apple /server/files]# awk '{gsub(/:/,"*" ,$NF); print $4}' reg.txt
*250*100*175
*155*90*201
*250*60*50
*250*80*75
*250*100*175
*50*95*135
*250*168*200
*175*75*300
*250*100*175
[root@apple /server/files]# awk '{gsub(/:/,"$"); print $0}' reg.txt
Zhang Dandan 41117397 $250$100$175
Zhang Xiaoyu 390320151 $155$90$201
Meng Feixue 80042789 $250$60$50
Wu Waiwai 70271111 $250$80$75
Liu Bingbing 41117483 $250$100$175
Wang Xiaoai 3515064655 $50$95$135
Zi Gege 1986787350 $250$168$200
Li Youjiu 918391635 $175$75$300
Lao Nanhai 918391635 $250$100$175
二:创建环境head/etc/paawd>/apple/passwd.txt
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
operator:x:11:0:operator:/root:/sbin/nologin
(1)将文件中第一行挪动到最后一行
awk的用法
[root@apple /server/files]# awk -F: '{tmp=$1;$1=$NF;$NF=tmp;print $0}' apple.txt
/bin/bash x 0 0 root /root root
/sbin/nologin x 1 1 bin /bin bin
/sbin/nologin x 2 2 daemon /sbin daemon
/sbin/nologin x 3 4 adm /var/adm adm
/sbin/nologin x 4 7 lp /var/spool/lpd lp
/bin/sync x 5 0 sync /sbin sync
/sbin/shutdown x 6 0 shutdown /sbin shutdown
/sbin/halt x 7 0 halt /sbin halt
/sbin/nologin x 8 12 mail /var/spool/mail mail
/sbin/nologin x 11 0 operator /root operator
/sbin/nologin x 12 100 games /usr/games games
/sbin/nologin x 14 50 FTP User /var/ftp ftp
/sbin/nologin x 99 99 Nobody / nobody
/sbin/nologin x 192 192 systemd Network Management / systemd-network
/sbin/nologin x 81 81 System message bus / dbus
/sbin/nologin x 999 998 User for polkitd / polkitd
/sbin/nologin x 59 59 Account used by the trousers package to sandbox the tcsd daemon /dev/null tss
/sbin/nologin x 173 173 /etc/abrt abrt
/sbin/nologin x 74 74 Privilege-separated SSH /var/empty/sshd sshd
/sbin/nologin x 89 89 /var/spool/postfix postfix
/sbin/nologin x 998 996 /var/lib/chrony chrony
/sbin/nologin x 38 38 /etc/ntp ntp
/bin/bash x 1000 1000 /home/apple apple
/bin/bash x 1001 1001 /home/orange orange
sed的用法
[root@apple /server/files]# sed -r 's#(^.*)(:x.*)(.*$)#\3\2\1#g' /apple/passwd.txt
:x:0:0:root:/root:/bin/bashroot
:x:1:1:bin:/bin:/sbin/nologinbin
:x:2:2:daemon:/sbin:/sbin/nologindaemon
:x:3:4:adm:/var/adm:/sbin/nologinadm
:x:4:7:lp:/var/spool/lpd:/sbin/nologinlp
:x:5:0:sync:/sbin:/bin/syncsync
:x:6:0:shutdown:/sbin:/sbin/shutdownshutdown
:x:7:0:halt:/sbin:/sbin/halthalt
:x:8:12:mail:/var/spool/mail:/sbin/nologinmail
:x:11:0:operator:/root:/sbin/nologinoperator
OFS进行替换
[root@apple /server/files]# awk -F: -vOFS=":" '{tmp=$1;$1=$NF;$NF=tmp;print $0}' apple.txt
awk计算的用法
Bc Linux下的计算器
awk比较大小
找出/etc/passwd第三列中大于999的行
awk -F":" '$3>999' /etc/passwd