本文主要是介绍学习linux的第十八天,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
sed工具的使用
sed命令格式为:sed -n ‘n’ p filename 单引号内的n是一个数字,表示第几行。-n的选项作用是只显示我们需要打印的行无关紧要的内容不显示。
我们也可以打印所有的行,命令格式为:sed -n ‘1,$’ p fiename 如下图
这样我们也可以打印一个区间命令如下:
打印包含某个字符串的行 命令如下:
删除某些行的示列命令如下:
对比上面我们就把第一行给删除了,参数d表示删除的动作。它不仅可以删除指定的单行以及多行,而且可以删除匹配某些字符的行,还可以删除从某行开始到文档最后一行的所有行。删除的只是显示到屏幕上的行,原文档还好好的 ,不用担心。
替换字符或者字符串
上列中的参数s表示替换的动作,参数g表示本行全局替换。如果不加g则只替换本行出现的第一个,这个用法和vim的替换大同小异
调换两个字符串的位置:
小括号是sed中的属于特殊号,必须在前面加转义字符,替换式则写成类似\1\2\3的形式。看着\这个符号乱糟糟的 那我们可以使用下面的方法:
加上选项-r选项可以让这个表达式更加清晰。
awk工具的使用
awk也是流式编辑器,针对文档中的行来操作,一行一行的执行。
截取文档中的某个段如下:
上图中的$1为第一字段,$2为第二字段,但是$0比较特殊表示整行
匹配字符或者字符串命令如下
这跟sed的用法类似,能够实现grep的功能,但是没有颜色显示,肯定没有grep用起来方便,不过awk还有比sed更强大的匹配。
条例操作符:awk中可以用逻辑符号进行判断,比如==就是等于,也可以理解为精确匹配。另外还有< >= <= !=等,值得注意的是,在和数字比较时,若把比较的数字用双引号引起来,那么awk不会认为是数字,而是字符,不加双引号则会认为是数字。
这篇关于学习linux的第十八天的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!