sed处理文本的常用命令
发表于:2025-02-03 作者:千家信息网编辑
千家信息网最后更新 2025年02月03日,sed 是一个文本处理工具,可以将数据进行替换、新增、选取等特定工作格式sed 选项 动作 文件名使用sed替换文件中某个域的字段比如写的一个yaml文件中间有个字段需要修改,可以使用sed在外面命令
千家信息网最后更新 2025年02月03日sed处理文本的常用命令
sed 是一个文本处理工具,可以将数据进行替换、新增、选取等特定工作
格式
sed 选项 动作 文件名
使用sed替换文件中某个域的字段
比如写的一个yaml文件中间有个字段需要修改,可以使用sed在外面命令行进行替换
格式:sed 's/原字符/新的字符/' 文件名
[root@zhaocheng ~]# sed 's/systemctl/service/' filetest root:$1$dDTFylQ3$.vTZKpm7mrra9WMsxvBfW.:18241:0:99999:7bin:*:17834:0:99999:7:dadlp:*:17834:0:99999:7adasync:*:17834:0:99999:7:::ggshutdown:*:17834:0:99999:7::dahalt:*:17834:0:99999:7::fsdanginx:!!:18289::::::daafrabbitmq:!!:18297:::::dadaservice start mysqlddadad:nginx:sdada
上面输出的只会输出到屏幕上,并不会修改文件,如果直接替换可以添加-i
[root@zhaocheng ~]# sed -i 's/systemctl/service/' filetest [root@zhaocheng ~]# cat filetest root:$1$dDTFylQ3$.vTZKpm7mrra9WMsxvBfW.:18241:0:99999:7bin:*:17834:0:99999:7:dadlp:*:17834:0:99999:7adasync:*:17834:0:99999:7:::ggshutdown:*:17834:0:99999:7::dahalt:*:17834:0:99999:7::fsdanginx:!!:18289::::::daafrabbitmq:!!:18297:::::dadaservice start mysqlddadad:nginx:sdada
sed 参数含义指令
常用命令:a 新增c 取代d 删除i 插入p 列印s 取代
删除某行
如果处理文本的时候需要进行一些行的删除,可以使用d,代表删除
不加sed -i 不会删除,不加只会显示屏幕上
[root@zhaocheng]# sed '1d' filetest //删除第一行[root@zhaocheng]# sed '$d' filetest //删除最后一行[root@zhaocheng]# sed '1,2d' filetest //删除第一行到第二行[root@zhaocheng]# sed '3,$d' filetest //删除第三行到最后一行
显示某行
比如处理文本的时候需要提取文本的某个某行
[root@zhaocheng]# sed -n '1p' filetest //显示第一行 [root@zhaocheng]# sed -n '$p' filetest //显示最后一行[root@zhaocheng]# sed -n '1,2p' filetest //显示第一行到第二行[root@zhaocheng]# sed -n '3,$p' filetest //显示第三行到最后一行
使用模式进行查询
比如处理比较大的文本想找出这个字段,那么直接可以使用-n 参数显示,动作指定需要提取的关键词,p进行打印
[root@zhaocheng]# sed -n '/bin/p' filetest //查询包括关键字bin所在所有行[root@zhaocheng]# sed -n '/\$/p' filetest service start mysqld$//查询包括关键字$所在所有行,使用反斜线\屏蔽特殊含义,不然识别不出
新增一行或者多行字符串
比如处理文本进行添加字段,并指定添加到某行,可以使用a,是增加,1a就是在第一行下去增加,如果字段比较多可以使用在vim中使用set nu,显示行号,或者直接在命令行使用cat -n 直接显示行号,在命令行使用sed '行数a xxxxxx 文件名
在第一行的下面新增一行
[root@zhaocheng ~]# sed '1a sed is very useful' filetest bin:*:17834:0:99999:7:dadsed is very usefullp:*:17834:0:99999:7adasync:*:17834:0:99999:7:::ggshutdown:*:17834:0:99999:7::dahalt:*:17834:0:99999:7::fsdanginx:!!:18289::::::daafrabbitmq:!!:18297:::::dadaservice start mysqld$dadad:nginx:sdada%
在第2行与第3行增加sed is very useful
[root@zhaocheng ~]# sed '2,3a sed is very useful' filetest bin:*:17834:0:99999:7:dadlp:*:17834:0:99999:7adased is very usefulsync:*:17834:0:99999:7:::ggsed is very useful
进行替代行,这里我将第一行替换成kuberntes,1c就是第一行,c就是替换
[root@zhaocheng ~]# sed '1c kubernetes' filetest kuberneteslp:*:17834:0:99999:7adasync:*:17834:0:99999:7:::ggshutdown:*:17834:0:99999:7::dahalt:*:17834:0:99999:7::fsdanginx:!!:18289::::::daafrabbitmq:!!:18297:::::dadaservice start mysqld$dadad:nginx:sdada%
将这个文本的最后一行添加jenkins,$就是最后一行,a是添加
[root@zhaocheng ~]# sed -i '$a jenkins' filetest[root@zhaocheng ~]# cat filetesthellpsync:*:17834:0:99999:7:::ggshutdown:*:17834:0:99999:7::dahalt:*:17834:0:99999:7::fsdadadad:nginx:sdada%jenkins
删除匹配的行,匹配的jenkins这个行,进行删除
[root@zhaocheng ~]# sed -i '/jenkins/d' filetest[root@zhaocheng ~]# cat filetesthellpsync:*:17834:0:99999:7:::ggshutdown:*:17834:0:99999:7::dahalt:*:17834:0:99999:7::fsdadadad:nginx:sdada%
匹配文本中带#的并删除掉,这里使用^以#开头/d是删除
[root@zhaocheng ~]# cat filetest#hellp#sync:*:17834:0:99999:7:::gg#shutdown:*:17834:0:99999:7::dahalt:*:17834:0:99999:7::fsdadadad:nginx:sdada%[root@zhaocheng ~]# sed -i '/^#/d' filetest[root@zhaocheng ~]# cat filetesthalt:*:17834:0:99999:7::fsdadadad:nginx:sdada%
删除文本中每行的首数字
[root@zhaocheng ~]# cat filetest1fghjkl2ghjkl;'3fghjkl;4dfghjkl;[root@zhaocheng ~]# sed -i 's/^[0-9]//g' filetest[root@zhaocheng ~]# cat filetestfghjklghjkl;'fghjkl;dfghjkl;
一行
文本
文件
处理
字段
命令
就是
关键
字符
文件名
查询
关键字
动作
参数
含义
屏幕
所在
时候
格式
三行
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
贵州网络技术服务创新服务
怎么学管理服务器
北京智能软件开发诚信合作
软件开发到应用的过程
steam完美服务器
网络安全 h5
网络安全法对个人有何影响
云服务器应用管理
昌平区网络技术咨询收费
教育频道家庭教育和网络安全
沃特沃德软件开发工资
金融 互联网 科技
文件服务器解决方案
王者荣耀怎样跨服务器玩
关系型数据库的主要运算
服务器瑞德
易语言服务器与客户端外网列子
全日制大专计算机网络技术
战神引擎戒指数据库参数
夺畅网络技术怎么样
网络安全班报中学
创建数据库时设置参数
社区网络安全领域主要的风险挑战
php框架数据库操作
wk3500数据库管理软件
数据库关系中的行称为
软件开发服务费的账务处理
重庆拍拍网络技术有限公司客服
云顶手游无法接通服务器
上海工业网络技术公司