鸟哥的Linux私房菜学习之第十一章笔记

2021/6/12 7:23:19

本文主要是介绍鸟哥的Linux私房菜学习之第十一章笔记,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

正则表达式

正则表达式就是处理字符串的方法,它是以行为单位来进行字符串的处理操作;

grep命令的使用

[:alnum:]表示字符为0~9,a~z,A~Z;

[:alpha:]表示字符为a~z,A~Z;

[:upper:]表示字符为A~Z;

[:lower:]表示字符为a~z;

[:digit:]表示字符为0~9

^在[]内表示反向选择,在括号外表示定义在行首;

watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=

watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=

$表示行尾的意思,例如u$表示行尾字符是u

watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=

.(小数点)表示【一定要有一个任意字符】的意思;

watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=

*(星号)表示【重复前一个字符,0到无穷多次】的意思;

watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=

{}:限制一个范围区间内的重复字符数

watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=

sed工具,用于行数据的新增、删除、替换、选取等功能,最后一行可以用$d表示

删除d

watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=

新增i/a:增加行数据,i/a表示在行前/后

watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=

替换c:n1,n2c表示将第几行跟第几行之间内容替换,如果替换的内容不止一行,需要在每行之间加\

显示p:直接取出需要的行,-n安静模式,不让数据重复输出

部分数据的查找替换:sed ‘s/要被替换的字符/新的字符/g’

watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=

直接修改:sed -i(请勿在系统配置文件直接操作)

watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=

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代表小数点

watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=

awk: 数据处理工具

可以使用【字段】为根据,进行数据的重新整理与输出

NF 每一行$0所拥有的字段总数

NR 目前awk所处理的是第几行数据

FS 目前的分隔字符

watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=

watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=

watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=

diff :主要用在纯文本文件方面的新旧版本比对

watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=

cmp:在字节方面比对

watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=

文件格式化处理

patch: patch 命令可以将旧版数据更新到新版

pr:文件打印设置pr +文件

 



这篇关于鸟哥的Linux私房菜学习之第十一章笔记的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程