文本处理的命令,三剑客之sed

文本处理命令 1.sort命令 “用于将文件内容加以排序” 参数: -n :按照数值的大小排序 -r :以相反的顺序来排序 -k :以某列进行排序 -t :指定分隔符,默认是以空格为分隔符 2.uniq命令 “用于检查及删除文本文件中重复出现的行列,一般与sort命令相结合使用” 参数: -c :在每列的旁边显示该行重复出现的次数 -d :仅显示重复出现的行列 -u :仅显示出一次的行列 3.cut命令 “用于显示行中的指定部分,删除文件中指定字段” 参数: -d :指定字段的分隔符,默认的字段分隔符为“TAB” -f :显示指定字段的内容 4.tr命令 “替换或删除” 参数: -d :删除字符 5.wc命令 “统计,计算数字” 参数: -c :统计文件的Bytes数 -l :统计文件的行数 -w :统计文件中单词的个数,默认以空白字符作为分隔符 注:在linux系统中,一段连续的数字或字母组合为一个词

image

三剑客之sed命令 作用:修改文本,是linux中的流媒体编辑器 1.sed命令的格式 sed+[参数]+'处理规则'+[操作对象] 2.参数 -e :允许多项编辑 -n :取消默认输出 -i :就地编辑 -r :支持拓展正则 -f :指定sed匹配规则脚本文件 3.定位 1、数字定位法,指定行号 sed '3d' 1.txt sed '2,3d' 1.txt 2、正则定位法,指定正则定位 sed '/^g/d' 1.txt 3、数字和正则定位法 sed '3,/^g/d' 1.txt 4、正则正则定位法 sed '/^g/,/^j/d' 1.txt 4.sed的编辑模式 d :删除 p :打印 a : 在当前行后添加一行或多行 sed '2axxx' 1.txt c :用新文本修改(替换)当前行 sed '2cxxx' 1.txt i : 在当前行之前,插入文本(单独使用时) sed '2ixxx' 1.txt r : 在文件中读内容 sed '2r r.txt' 1.txt w : 将指定行写入文件 sed '2w w.txt' 1.txt y : 将字符转换成另一个字符 sed '2y/fa/FA/' 1.txt s : 将字符串转换成另一个字符串(每一行只替换一次) sed 's/11/22/' 1.txt g : 全部执行 sed 's/11/22/g' 1.txt i : 忽略大小写(跟 s 模式一起使用时) & :代表前面匹配到的内容

image

例题 1、将nginx.conf中的注释行全部去掉 sed '/^ *#/d' /etc/nginx/nginx.conf 2、将nginx.conf中每一行之前增加注释 sed 's/.*/# &/g' /etc/nginx/nginx.conf 3、要求一键修改本机的ip, 192.168.15.100 ---> 192.168.15.101 172.16.1.100 ---> 172.16.1.101 sed -i 's/.100/.101/g' /etc/sysconfig/network-scripts/ifcfg-eth[01] 4、将/etc/passwd中的root修改成ROOT sed -i 's/root/ROOT/g' /etc/passwd 5.删除/etc/passwd中的所有偶数行 sed "1~2d" /etc/passwd 6.将1.txt中的每一行都添加一个.bak的后缀 sed -r "s/(.*)/\1\.bak/g" 1.txt

image

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzzsws.html