一、sed
1. sed主要用来自动编辑一个或多个文件,简化对文件的反复操作
2. sed操作文件内容并没有改变,除非重定向存储输出
3. 语法 -r sed动作支持的是延伸型正规表示法的语法
-i 直接修改读取的档案内容
a 新增
c 取代
d 删除
p 打印
s 替换
4. 用法:sed [options] 'addressCommand' file ...
二、awk
1. 常用命令: -F 指定输入分隔符
-v 赋值一个用户定义变量将外部变量传递给awk
2. 基本结构: 三部分是可选的,脚本通常是被单引号或双引号中
先执行BEGIN中语句
然后执行pattern,逐行扫描文件直到文件全部被读取完毕
读至输入流末尾执行end
3. 内置变量:$n 当前记录的第n个字段,比如n为1表示第一个字段,n为2表示第二个字段。
$0 这个变量包含执行过程中当前行的文本内容。
FNR 同NR,但相对于当前文件。
FS 字段分隔符(默认是任何空格)
NF 表示字段数,在执行过程中对应于当前的字段数
NR 表示记录数,在执行过程中对应于当前的行号
OFS 输出字段分隔符(默认值是一个空格)
RS 记录分隔符(默认是一个换行符)
ORS 输出记录分隔符(默认值是一个换行符)
4.所有用作算数运算符进行操作的时候,操作数自动转为数值,非数值都变为0
5. 流程控制语句都是类c语言,可用c的逻辑写