一、grep
grep | root passwd | 过滤关键字root |
-i root passwd | 忽略大小写 | |
-E "\<root" passwd | root字符前不能有字符 | |
-E "root\>" passwd | root字符后不能有字符 | |
-数字 | 显示过滤行以及上面几行和下面几行 | |
-n | 显示匹配的行所在的行号 | |
-A | 显示过滤行以及下面几行 | |
-B | 显示过滤行以及上面几行 | |
-v | 反向过滤 |
^westos | 以westos开头 |
westos$ | 以westos结尾 |
w....s | w开头s结尾中间有4个字符 |
.....s | s结尾前面5个任意字符 |
* | 字符出现任意次数 |
? | 0到1次字符 |
+ | 1次到任意次 |
{n} | n次 |
{m,n} | m到n次 |
{0,n} | 0-n次 |
{,n} | 0-n次 |
{m,} | 最少m次 |
(lee){2} | lee字符串出现2次 |
二、sed
sed 参数 命令 处理对象 | |
sed 参数 处理对象 -f 处理规则文件 |
sed | p | 显示 | |
-n | 5p westos | 显示第五行 | |
-n | 3,5p westos | 显示3-5行 | |
-ne | "3p;5p westos | 显示3和5行 | |
-ne | 1,5p westos | 1-5行 | |
-ne | '5,$p' westos | 5到最后一行 | |
-n | '/^#/p' fstab | 显示以#开头的行 | |
d | 删除 | ||
5d | westos | 删除第5行 | |
'/^#d' | fstab | 把#开头的行删除 | |
'/^UUID/!d!' | fstab | 出了UUID以外的行都删除 | |
a | 添加 | ||
-e | '$a hello world' fstab | 添加 |
三、awk
/etc/passwd文件的第六列没有home关键字并且以bash结尾 |
awk -F : '$6~/home/&&/bash$/{print}' /etc/passwd |