什么是正则表达式?
通过特殊符号对文件中的字符串以行为单位进行查找、删除、替换等操作。配合gerp sed awk使用。(通配符*?[](*多个字符,?单个字符[ab]ab中一个字符)为完全匹配,正则表达式包含匹配,有就算)
* 前一个字符匹配零到任意多次,例grep 'aaa*'匹配到aa~的行
. 匹配换行\n符之外的任意一个字符 例 grep ‘a..c’ 匹配到a××c的行
^ $ ^行首,$行尾 例grep ‘^ a' 'b$'匹配行首是a行尾是b
[ ] 匹配单个字符与通配符[]一样,例[0-9]匹配0到9的数字
^[] []$ 行首行尾匹配
[^]取反 例[^a-z]匹配没有字母的行
a\{n\} 反斜杠我大括号转义符,含义a最少出现n次的行
a\{n,m\} a出现n到m次
字符截取命令
cut 命令 cut [-f 列号,-d 选定分隔符] 文件名
printf 命令 printf ' 输出类型格式输出格式' 输出内容(不支持数据流不能用|管道符)
例printf '%s\t%s\t%s\t%s\n' 1 2 3 4
awk命令
awk ’条件1{动作1}条件2{动作2}.‘文件名
例awk '{printf $2"\t"$4"\n"}'
sed命令 对数据选取替换删除
sed [-n(只显示处理行)-e(允许应用多条sed)-i(保存修改结果到文献)] ’[动作;]‘文件名
例sed -n '2p'打印出第二行 sed '2a 叉叉' 第二行加入叉叉。
sed与vi类似,