正则表达式

菜鸟

MDN

re 含义
* 匹配前面的子表达式零次或多次
. 匹配除换行符(\n、\r)之外的任何单个字符
? 匹配前面的子表达式零次或一次
+ 匹配前面的子表达式一次或多次
^ 匹配输入字符串的开始位置
$ 匹配输入字符串的结束位置
[] 匹配所包含的任意一个字符
[^] 匹配未包含的任意字符
\ 将下一个字符标记为一个特殊字符、或一个原义字符、或一个向后引用、或一个八进制转义符
{n} n 是一个非负整数。匹配确定的 n 次
{n,m} m 和 n 均为非负整数,其中n <= m。匹配 [n, m] 次
x|y 匹配 x 或 y
修饰符 含义
i ignore - 不区分大小写
g global - 全局匹配
m multi line - 多行匹配
s 特殊字符圆点 . 中包含换行符 \n

grep

grep [OPTION...] PATTERNS [FILE...]

awk

菜鸟

awk — pattern scanning and processing language

awk '{[pattern] action}' {filenames} 

2 this is a test
3 Do you like awk
This's a test
10 There are orange,apple,mongo

awk '{print $1,$4}' log.txt
awk -F, '{print $1,$2}'   log.txt # 使用","分割
awk -F[ ,] '{print $1,$2}'   log.txt # 使用多个分隔符.先使用空格分割,然后对分割结果再使用","分割
awk 'BEGIN{}END{}' log.txt

sed

sed [option][action] filename

-n 输出处理过的
-e 多条命令
-i 修改源文件

a 行后追加
c 行替换
i 行前插入
d 删除
p 打印
s 替换
n,m 行选择

另外

cut

-f 列
-d 分隔符
-c 字符

sort

-f 忽略大小写
-n 数值
-r 反向
-t 分隔符(\t)
-k 字符范围