sed用法很多,但是根据上节之中,用来做内容替换最多。
sed -i -e 's/^dubbo_provider_version=.*[^e]$/&-pre/' /home/wuji/webroot-xxx/WEB-INF/classes/biz.properties该命令作用是把biz.properties中的dubbo_provider_version=1.0.0 替换为dubbo_provider_version=1.0.0-pre替换的格式为 sed -e ’s/abc/def’ file.txt 把abc替换为def。其中第一部分的正则在第二部分可以被&取到。注意取到的是从dubbo开头的全部,而不是.*部分,这是正则表达式的知识。并且s可以扩展为举例2:去掉所有html标签$ sed -e 's/<[^>]*>//g' myfile.htmlg的作用:不加只替换第一个匹配,加了会替换所有匹配sed -i 直接替换文件而不是在屏幕上输出学习过vim的朋友们可以轻易的联想到vim的命令模式,也有:s/abc/def的写法,所以linux下的知识很多都可以触类旁通。uniquniq可以去除重复行或者做group by的统计文件file:aabbbsort file | uniq :absort file | uniq -c:2 a3 b之所以和sort组合是要把所有的a弄到一起,防止b后面有a的情况。uniq -d 只显示重复的 ,-c只显示不重复的,两者互斥。uniq -dc 只显示重复并统计sort 功能说明:将文本文件内容加以排序。语 法:sort [-bcdfimMnr][-o<输出文件>][-t<分隔字符>][+<起始栏位>-<结束栏位>][--help][--verison][文件]补充说明:sort可针对文本文件的内容,以行为单位来排序。实例:以第一个关键列的第二个字母开始进行排序:$ sort -k 1.2 file.txt以关键列第一列的第二个字母进行排序,如果第二个字母相同则根据第三列以数值的标准进行降序排列。$ sort -k 1.2,1.2 -k 3,3nr file.txt-k 排序字段,按照-t 分隔符来区分的,从0开始。-n 以数字格式排序。默认string方式比较的话,20和9比较是后者大。-r 反序-d 排序时,处理英文字母、数字及空格字符外,忽略其他的字符。-b 忽略每行前面开始出的空格字符。-u 去除重复行。(可以利用这个来去重)sort选项没特别需要讲的,需要注意的就是-k。-k选项的具体语法格式如下:[ FStart [ .CStart ] ] [ Modifier ] [ , [ FEnd [ .CEnd ] ][ Modifier ] ]这个语法格式可以被其中的逗号(“,”)分为两大部分,Start部分和End部分。如果不设定End部分,那么就认为End被设定为行尾。Start部分也由三部分组成,其中的Modifier部分就是我们之前说过的类似n和r的选项部分。我们重点说说Start部分的FStart和C.Start。C.Start也是可以省略的,省略的话就表示从本域的开头部分开始。之前例子中的-k 2和-k 3就是省略了C.Start的例子喽。FStart.CStart,其中FStart就是表示使用的域,而CStart则表示在FStart域中从第几个字符开始算“排序首字符”。同理,在End部分中,你可以设定FEnd.CEnd,如果你省略.CEnd,则表示结尾到“域尾”,即本域的最后一个字符。或者,如果你将CEnd设定为0(零),也是表示结尾到“域尾”。odod命令是分析文件内容的工具,很多时候不知道文件的内容编码,此时用od命令看文件内部的字节构成是最直接的方式,使用方法:od-Ax-tcx4 file 。可以用于分析字符编码 是否utf-8 ,是否LE,BE至于如何分辨,还需要了解每种编码的规则,譬如utf-8一般以三个字节来显示中文,而gbk则是两个。新闻热点
疑难解答