Linux四剑客-----sed

Sed

sed在处理文本时是逐行读取文件内容,读到匹配的行就根据指令做操作,不匹配就跳过。

sed是Linux下一款功能强大的非交互流式文本编辑器,可以对文本文件进行增、删、改、查等操作,支持按行、按字段、按正则匹配文本内容,灵活方便,特别适合于大文件的编辑。本文主要介绍sed的一些基本用法,并通过shell脚本演示sed的使用实例。

1.sed的使用方法,调用sed 命令的语法有两种:

一.在命令行指定sed指令对文本进行处理:sed +选项 ‘指令’ 文件

二.先将sed指令保存到文件中,将该文件作为参数进行调用:sed +选项 -f 包含sed指令的文件 文件

sed的常用选项:

-e:它告诉sed将下一个参数解释为一个sed指令,只有当命令行上给出多个sed指令时才需要使用-e选项

-f:后跟保存了sed指令的文件

-i:直接对内容进行修改,不加-i时默认只是预览,不会对文件做实际修改

-n:取消默认输出,sed默认会输出所有文本内容,使用-n参数后只显示处理过的行

sed中的编辑命令:

a:追加 向匹配行后面插入内容

c:更改 更改匹配行的内容

i:插入 向匹配行前插入内容

d:删除 删除匹配的内容

s:替换 替换掉匹配的内容

p:打印 打印出匹配的内容,通常与-n选项和用

=:用来打印被匹配的行的行号

n:读取下一行,遇到n时会自动跳入下一行

r,w:读和写编辑命令,r用于将内容读入文件,w用于将匹配内容写入到文件

2、基本命令

sed -n 只打印第一行,不带-n的打印所有行

sed -n ‘4p’ log.txt 只打印第四行

sed ‘4p’ log.txt 打印所有行

sed -n ‘3,6p’ log.txt 打印3到6行

sed -n ‘$p’ log.txt 打印最后一行

sed -n ‘/python/p’ log.txt 打印匹配python关键字的行,区分大小写

使用多个sed编辑命令时,就加-e选项,-e选项指定其后面紧跟着的字符串为sed编辑命令,如:

sed -n -e ‘/c/p’ -e ‘/c/=’ log.txt
在这里插入图片描述
在这里插入图片描述
替换1.txt中部分匹配good的,good替换为new。
在这里插入图片描述
在这里插入图片描述
全局替换1.txt中的good为new
在这里插入图片描述
在这里插入图片描述
获取本机ip地址删除前面内容与后面的内容
在这里插入图片描述
在1.txt中匹配goo前追加内容
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_42554950/article/details/89312292