grep查找
结合正则表达式功能十分强大
grep [选项] 要查找内容(可用正则表达式) 在该文件中查找
常用选项:
-c 只显示匹配的行
-h 查询多文件时不显示文件名
-I 不区分大小写
-l 查询多文件时,只输出匹配文件的文件名
-n 显示匹配的行及行号
-v 显示不包含匹配文本的所有行
实例1:
不想搜到ld前面有e的那行 使用反选项[^]
实例2:
除了连续编码使用[-]外,也可以用[:lower:]代替a-z [[:lower:]]代替[a-z]
[:digit:]代替0-9 [[:digit:]]代替[0-9]
实例3:
sed编辑
三种使用方法:
1、在shell命令行调用 格式:sed [选项] ‘command’ 输入文件
command要加单引号,也允许加双引号
2、将sed命令插入脚本后,通过sed命令调用 格式:sed [选项] -f sed脚本文件 输入文件
3、将sed命令插入脚本后,执行该脚本 格式:./sed脚本文件 输入文件
常用选项:
-e 多重编辑
-i 直接编辑,修改文件内容
-f
-n 安静模式,只显示处理的那一行,而不显示来自stdin输入的内容
动作:
a 新增至下一行
c 取代 sed ‘/test/c RRRR‘ test.txt
d 删除
p 打印
s 取代
awk文本分析并处理
一行一行的分析处理
相对于sed常常用于处理一行,awk更倾向于处理一行中的一个一个字段
三种使用方式:
1、在shell命令行调用 格式:awk [-F 域分隔符] ‘command’ 输入文件
2、将awk命令插入脚本后,通过awk命令调用 格式:awk -f awk脚本文件 输入文件
3、将awk命令插入脚本后,执行该脚本 #!/bin/awk
awk的处理流程:
1、读取第一行,将第一行信息一次填入变量$0 $1 $2..
2、依据条件限制,执行动作
3、接下来依次处理下一行
BEGIN
END
变量:
NF 代表每一行的$0的字段总数
NR 代表目前awk所处理的是第几行数据
FS 代表目标分割符,默认是空格
实例1:
-F 分隔符
可看到虽然我们定义了FS=":" 但却只在第二行生效
要想使第一行生效,需要加BEGIN这个关键字