正则表达式
正则表达式就是处理字符串的方法,它是以行为单位来进行字符串的处理操作;
grep命令的使用
[:alnum:]表示字符为0~9,a~z,A~Z;
[:alpha:]表示字符为a~z,A~Z;
[:upper:]表示字符为A~Z;
[:lower:]表示字符为a~z;
[:digit:]表示字符为0~9
^在[]内表示反向选择,在括号外表示定义在行首;
$表示行尾的意思,例如u$表示行尾字符是u
.(小数点)表示【一定要有一个任意字符】的意思;
*(星号)表示【重复前一个字符,0到无穷多次】的意思;
{}:限制一个范围区间内的重复字符数
sed工具,用于行数据的新增、删除、替换、选取等功能,最后一行可以用$d表示
删除d
新增i/a:增加行数据,i/a表示在行前/后
替换c:n1,n2c表示将第几行跟第几行之间内容替换,如果替换的内容不止一行,需要在每行之间加\
显示p:直接取出需要的行,-n安静模式,不让数据重复输出
部分数据的查找替换:sed ‘s/要被替换的字符/新的字符/g’
直接修改:sed -i(请勿在系统配置文件直接操作)
egrep:扩展正则表达式
+:重复一个或一个以上的前一个RE字符,如查找god,good,goood等字符,可以用
egrep -n ‘go+d’
?:0个或1个的前一个RE字符,如gd,god,可用egrep ‘go?d’
|:用或的方式找出数个字符串,如查找gd或good这2个字符串,可用egrep -n ‘gd|good’
( ):找出群组的字符串,查找glad或good,可用egrep -n ’g(la|oo)d’
( )+:多个重复群组的判别,如Axyzxyzxyz,可用egrep -n ‘A(xyz)+C’
格式化打印:printf
\a警告声音输出
\b退格键
\f 清除屏幕
\n 输出新的一行
\r 回车
\t 水平tab
\v 垂直tab
\xNN NN为两位数的数字,可以转换数字成为字符。
%ns n是数字,s代表多少个字符
%ni i代表多少整数位数
%N.nf n,N都是数字,f代表小数点
awk: 数据处理工具
可以使用【字段】为根据,进行数据的重新整理与输出
NF 每一行$0所拥有的字段总数
NR 目前awk所处理的是第几行数据
FS 目前的分隔字符
diff :主要用在纯文本文件方面的新旧版本比对
cmp:在字节方面比对
文件格式化处理
patch: patch 命令可以将旧版数据更新到新版
pr:文件打印设置pr +文件