sed编辑器 较倾向于行处理
命令格式:
sed -[i|n|e] '行号,行号{command1;command2};/正则表达式/,/正则表达式/{comand3;};行号{comand4;command5};/正则表达式/{command6}' file
-i 直接修改文件
-n 只输出有影响的行
-e 多命令
p 打印匹配行
d 删除匹配行
s/正则表达式/字符串/g; 替换行内所有匹配到的串 s/正则表达式/&字符串/g; 将字符串拼接在行内所有匹配到的字符串后
s/正则表达式/字符串/; 替换行内第一个匹配到的串 s/正则表达式/&字符串/; 将字符串拼接在行内第一个匹配到的字符串后
n 匹配行的下行
i 在匹配行前插入
a 在匹配行后添加
c 替换匹配行
w 将匹配行写入文件
r 将匹配行处读取文件
AWK linux 文本字段处理利器,相较于sed更倾向于在行内字段处理方面的能力。
通用命令格式:
awk -[F|f|v] 'BEGIN{}/正则表达式/{comand1;comand2};/正则表达式/{comand3;comand4}END{}' [OFS|ORS]="" file
流程:if ; while;for;continue;break;同C语言
exit 跳到 END命令块。next 表示跳过当前行,继续处理下行
正则表达式:
* 0到任意个字符
+ 1个到任意个字符
? 0或者1个字符
. 任意1个字符
[] []中任意一个字符
[-] 范围内任意一个字符
[^] 非[]内任意一个字符
| 或
()
^ 行首
$ 行尾
{,} 重复范围内次
来源:oschina
链接:https://my.oschina.net/u/1027355/blog/323987