sed命令常用命令
发表于:2025-02-04 作者:千家信息网编辑
千家信息网最后更新 2025年02月04日,sed 是一个文本处理工具,可以将数据进行替换、新增、选取等特定工作格式sed 选项 动作 文件名使用sed替换文件中某个域的字段比如写的一个yaml文件中间有个字段需要修改,可以使用sed在外面命令
千家信息网最后更新 2025年02月04日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安全错误
数据库的锁怎样保障安全
投稿中的确认网络安全协议
进气服务器
计算机与网络技术上什么
微软卫星数据库
网络安全协议复杂性
对网络安全防范意识更加
国产数据库技术员
网络安全手抄报怎样做
云龙区网络安全周知识竞赛
深圳市千阳网络技术有限公司
在哪里查看镜像服务器的网关
dhcp服务器设置代理
高级数据库难吗
在数据库中不存在或被禁用
游戏软件开发工资多少
服务器 维护费用
服务器虚拟多台云电脑
制表软件开发
网络安全的资源好少
云南工程软件开发排行
nginx服务器安全吗
广西哪里最多软件开发公司
国产数据库技术员
军用加固服务器厂家
数据库技术的前导后续课程
我的世界服务器弄什么更招人
互联网 的网络安全
网络技术管理体系
河北省网络安全测评中心
sql数据库连接池设置