栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

linux里面那些事——文本处理sed

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

linux里面那些事——文本处理sed

每日励志:做了才有机会说期待

sed非交互编辑

命令选项使用

	动作之间用;隔开	H剪切,g覆盖复制,G复制到行下,$G最后一行,w另存
a下一行追加,i插入,d删除,c选定行替换,p打印,s替换指定字符,y字符转换

示例:
文本打印

	sed -n "7p" #第七行
	sed -n "7p;10p" #7和10行
	sed -n "7,10p"  #7到10行
	sed -n "/^A/ p" #以A开头正则放在//中 ,p为打印  
	sed -n "/p;n/"  #奇数行
	sed -n "/n;p/" #偶数行
	sed -n "5,10{n;p}" #5到10行之间的偶数行
	sed -n "5,${n;p}" #5到最后一行
	sed -n "4,/the/p" #从第四行到第一个包含the的行
	sed -n "4,/the/="   #从第四行到第一个包含the的行,打印行号
	sed -n  '$=' ip.sh    #统计行号
	sed -n "/^[a-z]/d" #删除以任意字母开头的行 
	sed -n "/^$/d" #删除空行

文本替换

	sed  's/the/THE/' #将每行中的第一个the替换成大写THE
	sed  's/l/L/2' #将每行中的第二个l替换成大写L
	sed  's/the/THE/g' #将所有行的the替换成THE
	sed  's/o//g' #将所有行的o替换为空
	sed  's/^/#/'  #在每行行首插入#号
	sed '/the/s/^/#/' #在包含the的每行行首插入#
	sed 's/$/EOF/' #每行行尾插入字符串EOF
	sed '3,5s/the/THE/g' #将3到5行中的所有the替换为THE
	sed '/the/s/o/O/g' #将包含the的所有行中的o都替换成O
	cat -n test.txt | sed '1,2H;17g'  #将1,2行复制到第17行,17行被覆盖
	cat -n test.txt | sed '1,2H;17G' #将1,2行复制到第17行下面
	cat -n test.txt | sed '1,2{H;d};$G' #将1,2行剪切到最后一行下
	sed -n '5,10w 1.txt' test.txt #将test.txt的5到10行另存到1.txt 
	sed '1a33333' test.txt #在第一行下加入33333
	sed '1i33333' test.txt #在第一行上面插入33333
	cat -n test.txt | sed '1c44444' #第一行替换为44444
	sed '/^[  ]*$/d' #删除纯空行和由空格组成的空行
	sed -n '/[^$]/p'  #去除空行
	sed -n 's/[[:space:]]/n/g'p #把空格替换成换行
	#修改文件不加p打印,如果加p打印会出现两行相同

修改tomcat配置文件

	sed -n '/^3manager/'p ../conf/logging.properties	#匹配以3manager开头的行
	sed -i '/^3manager/s/^/#/' /opt/apache-tomcat-8.5.47/conf/logging.properties	#匹配以3manager开头的行开头加注释
	sed -n '/^#3manager/p' /opt/apache-tomcat-8.5.47/conf/logging.properties 	#匹配以#3manager开头的行(相当于匹配注释行)
	sed -n '/^#3manager/s/^#//g'p  /opt/apache-tomcat-8.5.47/conf/logging.properties 	打印以#3manager开头的行并取消开头#号注释
	sed -i '/^#3manager/s/^#//g'  /opt/apache-tomcat-8.5.47/conf/logging.properties	#同上直接修改
	sed -i 's|server.port=8080|server.port=8085|' /opt/apache-tomcat-8.5.47/webapps/ROOT/WEB-INF/classes/application.properties #修改默认端口

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/973426.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号