sed流编辑器,linux三剑客老二(awk,sed,grep)
对文件的增删改查
-n 取消默认输出
-p 打印
-i 修改文件内容
s常说的查找并替换,g与s联合使用,表示全局替和换
增:a,在指定行后开始添加
i,在指定行前开始添加
实例1-1
[root@oldboy data]# cat 1.txt 1,crh,A 2,xyx,B 3,zw,B 4,rhy,B 5,gzw,C 6,lfc,C 7,wyd,B 8,yws,B [root@oldboy data]# sed '2a 9,haha,A' 1.txt 1,crh,A 2,xyx,B 9,haha,A 3,zw,B 4,rhy,B 5,gzw,C 6,lfc,C 7,wyd,B 8,yws,B [root@oldboy data]# sed '2i 9,haha,A' 1.txt 1,crh,A 9,haha,A 2,xyx,B 3,zw,B 4,rhy,B 5,gzw,C 6,lfc,C 7,wyd,B 8,yws,B
删,d,删除指定的行
实例1-2
[root@oldboy data]# sed '2d' 1.txt 1,crh,A 3,zw,B 4,rhy,B 5,gzw,C 6,lfc,C 7,wyd,B 8,yws,B [root@oldboy data]# sed '2~2d' 1.txt 1,crh,A 3,zw,B 5,gzw,C 7,wyd,B [root@oldboy data]# sed '/crh/d' 1.txt 2,xyx,B 3,zw,B 4,rhy,B 5,gzw,C 6,lfc,C 7,wyd,B 8,yws,B
改:c 用新行取代旧行
实例1-3
[root@oldboy data]# sed '3c 11,haha,A' 1.txt 1,crh,A 2,xyx,B 11,haha,A 4,rhy,B 5,gzw,C 6,lfc,C 7,wyd,B 8,yws,B
s:将每行的第一处匹配的字符串进行替换
g:全局替换
-i:替换并修改到文件中
实例1-4
[root@oldboy data]# sed -i 's#C#A#' 1.txt [root@oldboy data]# cat 1.txt 1,crh,A 2,xyx,B 3,zw,B 4,rhy,B 5,gzw,A 6,lfc,A 7,wyd,B 8,yws,B
指定行修改:
[root@oldboy data]# sed '5s#C#haha#' 1.txt 1,crh,A 2,xyx,B 3,zw,B 4,rhy,B 5,gzw,haha 6,lfc,C 7,wyd,B 8,yws,B
查:p:输出指定的内容,默认输出两次,-n,可以取消
实例1-5
[root@oldboy data]# sed '2p' 1.txt 1,crh,A 2,xyx,B 2,xyx,B 3,zw,B 4,rhy,B 5,gzw,C 6,lfc,C 7,wyd,B 8,yws,B [root@oldboy data]# sed -n '2p' 1.txt 2,xyx,B
实例1-6 按字符串查询
[root@oldboy data]# sed -n '/B/p' 1.txt 2,xyx,B 3,zw,B 4,rhy,B 7,wyd,B 8,yws,B
转载于:https://blog.51cto.com/ronghuachen/1837878
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/108906.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...