Linux
常用
管理语句
Shell命令(变量)
正则表达式
重定向
EXPECT
流程控制
函数
日志
SED
sed常用操作
sed组合命令
sed脚本
AWK
awk常用
awk流程控制
awk脚本
SSH
SSH密钥的批量分发与执行
SSH连接很慢
ACL文件访问控制
计划任务
常用语句
批量添加用户和密码
批量修改密码
临时和永久关闭Selinux
修改主机名
Linux内核参数
无人值守安装
ISO镜像(mondorescue)
软件管理
SYSTEM服务
YUM本地仓
存储管理
逻辑卷LVM
磁盘阵列RAID
备份恢复相关命令
fio磁盘性能测试
内存管理
IPTABLES防火墙
FIREWALLD防火墙
curl请求
Linux问题
漏洞修复
限制网卡带宽
CentosYUM源
rsyslog 占用内存过高
df -h 卡住解决
Linux故障问题
网络配置
升级内核
Openssl生成证书
CENTOS6升级7
本文档使用MrDoc发布
返回首页
-
+
sed常用操作
2020年1月28日 12:16
admin
##查看时间段日志: ####sed -n ‘/起始时间/,/结束时间/p’ 日志文件 sed -n '/2021-05-21 10:08/,/2021-05-21 10:09/p' nohup.out ####指定时间点的日志,并导出到单独文件中 sed -n '/2021-05-21 10:08/,/2021-05-21 10:09/p' nohup.out > nohup0521.out --- ##sed操作指定目录下所有包含指定字符的文件 sed -i “s/oldstring/newstring/g” `grep oldstring -rl path` ##sed引入变量的几种方法 1.sed命令使用单引号的情况下,可以使用'"$var"'引用(单引号,然后双引号,变量): sed -i '2s/node_base/'"$i"'/' /etc/libvirt/qemu/$i.xml 2.sed命令中使用双引号的情况下,直接`shell command`或者$(shell command)引用命令执行。 sed -i "2s/node_base/$i/" /etc/libvirt/qemu/$i.xml ##一. 文本定位 >####1.行号定位 sed '定位 命令' inputfile x #指定特定行,例如10 就是第十行 x,y #指定连续行,例如10,20 就是第十到第二十行 x~z #指定起始行和步长,例如10~2 就是起始行为10,间隔为2的行 x,+n #指定某行后面的几行,例如10,+5 就是10-15行 $ #表示最后一行 >####2.正则表达式定位 sed '/正则表达式/ 命令' inputfile ####注意:行号定位和正则表达式定位可以同时用 sed '1,/^2/ s/e/E/g' log #表示从第一行开始,到以2为开头的行结束,把e变为E ##二. 文本替换 "s" sed '定位 s/原文本/替换文本/[标志]' inputfile #标志选项: g #全局匹配,会替换文本行中所有符合规则的字符串 数字n #表示替换文本中第n个符合规则的字符串 空 #如果没有指定flag,则表示替换文本中第一个符合规则的字符串 sed '1,3 s/e/E/g' log #表示替换1-3行所有的e变为E ##三. 文本删除 "d" sed '定位 d' inputfile sed '1,3 d' log #表示删除1-3行 ##四. 文本插入 "a" "i" sed '定位 a/i 插入内容' inputfile #a与i的区别在于,a插入到定位行后,而i为定位行前 sed '3 a/i hello' inputfile #表示在第三行插入内容"hello" ##五. 文本显示 "p" sed '定位 p' inputfile ##六. 多行操作 "N" cat sed.sh #n /Name/{ N #读取下一行内容 p #打印内容,此处输入所需操作即可 }
分享到: