Grep: 文本过滤工具, (grep,egrep,fgrep) Sed: 文本编辑工具, Awk: 文本报告生成器
grep : 作用 文本搜索工具,根据用户指定的‘模式对目标文件逐步进行匹配检查,打印匹配到的行
grep root /etc/passwd grep命令选项:
grep "$USER" /etc/passwd -v 显示不被pattern 匹配的行 -e 仅显示匹配到的字符串
grep "$USER‘ /etc/passwd -i 忽略字符大小写 -c 统计匹配到的行数 -w 匹配单词
grep ‘whoami‘ /etc/passwd -n 显示匹配的行号 -A # 后几行 -B# 前几行 -C# 前后#行
nmap 扫描工具 nmap -sP -v 172.18.252.0/24 |grep -B1 up |grep scan |cut -d ‘ ‘ f5 > 1.txt 扫描一下up 的Ip地址
nmap -v -A ip地址 扫描一下机器的开放的端口
ifconfig eth1 |grep "inet addr"|cut -d: -f2|cut -d " " -f1 过滤IP地址
df |grep /dev/sd|tr -s ‘ ‘ %|cut -d% -f5|sort -nr|head -1 查看磁盘最大使用率
正则表达式: 又一类特殊字符及文本字符所编写的模式,表示控制或通配的功能 分两类: 基本正则表达式 BRE 扩展正则表达式 ERE
字符匹配: . 匹配单个任意字符
[] 匹配指定范围内的任意单个字符
[^] 匹配指定范围外的任意单个字符
匹配次数: * 匹配前面字符任意次,包括0次 位置锚定:^ 行首的喵定
.* 匹配任意字符任意次 $ 行尾喵定
\? 匹配前面字符0或1次 ^$ 表示空行 ^PATTERN$ 用于模式匹配正行
\+ 匹配前面字符至少一次 ^[[:space:]]*$ 空白行
\{n\} 匹配前面的字符n次 \< 或 \b 词首喵定 \> 或 \b词尾喵定 ,用于单词模式的右侧
\{m,n\} 匹配前面的字符至少m次,至多n次 \<PATTERN> 匹配整个单词
\{,n\} 匹配前面的字符至多n次
\{n,\} 匹配前面的字符至少n次
分组:\(\) 将一个或多个字符捆绑在一起,当作一个整体进行处理, 如: \(root\)\+
1. cat /proc/meminfo | grep ^[Ss].* -o 或 cat /proc/meminfo | grep -i ‘^s.*
2.grep -v "/bin/bash$" /etc/passwd
3.cat /etc/passwd |grep "^rpc:" |cut -d : -f 7
4.grep "\b[0-9]\?[0-9][0-9]\b" /etc/passwd 或 grep "\b[0-9]\{2,3\}\b" /etc/passwd
5.grep ‘^[ [:space:] ]\ + [ ^ [:space:] ]‘ /etc/grub2.cfg
6.netstat -tan |grep "LISTEN[[:space:]]*$"
7.cut -d ":" -f1,3 /etc/passwd |grep "\<[0-9]\{1,3\}\>"
centos6: cut -d ":" -f1,3 /etc/passwd |grep "\b[1-9]\?[0-9]\b" -e "\b[0-4][0-9]\{2\}\b"
8.grep "^\(.*\)\>.*\<\1$" /etc/passwd 或grep "^\(.*\):.*\<\1$" /etc/passwd
9.df |grep ‘/dev/sd‘ |grep -o ‘[0-9]\+%‘ |tr -d %|sort -nr
扩展正则表达式: * : 匹配前面字符任意次
? : 0 或1次
+ : 1次或多次
{m} : 匹配m次
{m,n} : 至少m, 至多n次
a|b: a或b
C|cat : C 或cat
(C|c)at: Cat或cat