grep egrep sed awk 笔记

来源:互联网 发布:spring实战第四版源码 编辑:程序博客网 时间:2024/04/30 23:11

1. 多个正则表达式串联,使用'|'

egrep -v '^$|^[^1-9]' file_name

2. grep

几个特殊字符(正则表达式):

^ : []外 表示行首,[]内 表示取反:[^0-9];

$ : 表示行尾;

. : 一个字符;

*: 重复零次或者多次前一个字符,如:.* 表示匹配任意字符串,注意和 ls 命令的通配符 * 的区别,ls * 星号前不需要前导字符;

\{n,m\}: 连续n到m个的“前一个重复字符”,如:lo\{2,5\}g;

选项:

-B1 :Befor 1 line,表示输出匹配的一行和之前的一行,一个匹配输出两行;1可以是任何数值;

3. sed

sed 后面如果有两个以上的操作时,需要在每一个操作前添加 -e,如:sed  -e '3a line 1-3 are deleted'-e '1,3d'


3. awk 以行为为处理单位,行内以字段为处理单位

$0 :表示当前处理行

$n :n>=1 当前行的第 n 字段

NF :当前行的字段总数

NR :当前的行号

FS :当前分割符,默认为空格,可以自己设置 '{FS=":"}'


参考: 鸟哥基础篇