一.grep
1.1.grep介绍
1.2.案例介绍
(重)例一:去除文件中的注释与空行
以nginx.conf为例
grep -Ev "^$|#" /etc/nginx/nginx.conf
例二:显示所有行的行号
grep -n “.” /etc/nginx/nginx.conf
二.sed
2.1.sed介绍
2.2.案例介绍
范例文本:
[root@nginx ~]# cat test.txt 1.dwhabduw 2.dawiofj 3.zckj 4.fjeb 5.sadnkjw
例一:在第二行后添加一行内容
sed "2a 2.1.dwadsa" test.txt
注:i的用法与a相同。
例二:指定行后添加多行内容用“\”隔开
sed "2a 2.1.dwadsa\2.2.dawfsk" test.txt
例三:删除指定行内容
sed “2d” test.txt
例四:删除文本中指定的多行内容(范围)
注:表示从第二行到第四行之间的内容
sed "2,4d" test.txt
(重)例五:替换文本中内容
将文件中所有的1都替换成100
sed "s/1/100/g" test.txt
三.awk
3.1.awk介绍
3.2.案例介绍
测试文件:
nobody:x:99:99:Nobody:/:/sbin/nologin systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin dbus:x:81:81:System message bus:/:/sbin/nologin polkitd:x:999:997:User for polkitd:/:/sbin/nologin abrt:x:173:173::/etc/abrt:/sbin/nologin tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin postfix:x:89:89::/var/spool/postfix:/sbin/nologin chrony:x:998:996::/var/lib/chrony:/sbin/nologin sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin nginx:x:997:995:Nginx web server:/var/lib/nginx:/sbin/nologin
例一:显示文件的第二行
[root@nginx ~]# awk "NR==2" test2.txt systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
例二:显示文件的二到四行
[root@nginx ~]# awk "NR==2,NR==4" test2.txt systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin dbus:x:81:81:System message bus:/:/sbin/nologin polkitd:x:999:997:User for polkitd:/:/sbin/nologin
例三:给文件每行加上行号
[root@nginx ~]# awk '{print NR,$0}' test2.txt 1 nobody:x:99:99:Nobody:/:/sbin/nologin 2 systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin 3 dbus:x:81:81:System message bus:/:/sbin/nologin ... ...
例四:显示文件的第三列和第五列
注:$NF表示最后一列
[root@nginx ~]# awk -F ":" '{print $3,$5}' test2.txt 99 Nobody 192 systemd Network Management 81 System message bus 999 User for polkitd ... ...
(重)例五:取出eth0网卡的ip
[root@nginx ~]# ifconfig eth0|awk -F "[ :]+" 'NR==2{print $3}' 192.168.1.5