正则表达式与格式化处理

1.正则表达式
通过一些特殊字符的排列,用以查找、替换、删除一行或多行文字字符。vi sed grep awk支持正则表达式。 cp ls 不支持
特殊符号代表的意义
[:digit:]代表数字 ==[0-9]
[:lower:]代表小写字符==[a-z]
[:upper:]代表大写字符==[A-Z]\
[:alnum:]代表大小写字母及数字==[0-9a-zA-Z]
[:alpha:]代表大写小字母==[a-zA-Z]
grep -A 代表前几行 -B代表后几行 -C中间开始
grep -n加行号 -v反选 -i不区分大小写
[ab]代表a或者b
[^a]表示反选 不要a ^在[]外面表示开头 &表示结尾 ^&表示空行
[a-zA-Z]
正则表达式特殊符号可转义 如:
grep -n ‘.&’ test
.代表一定有一个任意字符
代表重复前一个字符0或无穷次注意与通配符不同 通配符表示任意
{2}代表连续两次
grep -n ‘o{2,5}’ test 代表连续2到5次
gerp -n ‘o{2,}’ test 代表连续2到无穷次
2.sed
删除2到5行:sed ‘2,5d’ test
在第二行后加入xws:sed ‘2a xws’ xws
在第二行前加入xws:sed ‘2i xws’ xws
将第二行替换成xws:sed ‘2c xws’ xws
打印5-7行,需加参数n:sed -n ‘5,7p’ xws
替换:sed ‘s/old/new/g’ xws
3.扩展正则表达式egrep或者grep -E
+表示重复一个或者一个以上的字符
|用or的方式找出字符串的个数
4.格式化输出printf
\n \r \t 下一行 enter tab键
格式化输出示例:
printf ‘%s\t %s\t \n’ ( c a t t e s t ) p r i n t f | 5. a w k N F N R F S a w k
使用-v引用变量
文本比较diff 也可以比较目录。

猜你喜欢

转载自blog.csdn.net/Life666888/article/details/81711137