sed编辑器

sed:类似于vim,就是一个文本编辑器,按行来进行编辑和处理

grep,sed,awk:文本三剑客都是针对文件内容的行来进行处理

sed的主要作用就是对文本内容进行增删改查

sed可以支持正则表达式。支持扩展正则表达式

sed原理:读取,执行命令,显示三个过程

读取:读取文本内容之后,读取到的内容存放到临时的缓冲区

模式空间

执行:在模式空间,根据读取到的文本内容,按行执行,除非指定行号,否则会遍历所有行,依次按行执行,从上往下执行

显示:执行完后,把执行结果打印,如果要改变生效,模式空间的数据会立刻写入到指定的文件当中,只是操作,但是不写入文件,只展示结果,展示完后,模式空间的数据立即删除。

文件过大怎么办:

复制代码
split -l 文件 新文件名字
split -b 文件 新文件名字
cat 文件名字  |  sed 处理  (中型文件,大型文件,还是先切割的比较好)

sed的实际操作:

sed -e '操作' 文件1 -e '操作' 文件2

只对一个文件操作,可以不加-e

常用的选项

-e 条件操作选项

-f 指定脚本文件来处理输入的文件内容。用命令卸载脚本里,用脚本里的命令来处理第二个文件里面的内容

-i 立即生效 (慎用)

-n 显示scirpt处理之后的结果

操作符:

s:替换 替换指定字符

d:删除,删除制定的行

a:增加,在当前行的下面插入指定内容

i:增加,在指定行的上面插入执行的内容

c:替换 替换整行

y:替换字符,但是替换前后的字符长度必须一致

p:打印

r:扩展正则

sed的核心就是改,删,增,查没有grep强大

cat/etc/passwd | sed ' '

sed 自己有一个默认输出,P打印会额外再来一行

-n 有禁止sed的默认输出

sed -n '=' test.txt (显示行号)

sed -n '=' test.txt (显示行号和内容)

sed 打印指定行,寻址打印

sed -n '1p' test.txt (打印第一行)

sed -n '$p ' test.txt (打印最后一行)

行号的范围打印

sed -n '1,3p' test.txt (打印1-3行)

sed -n '2p,$p' test.txt (打印2和最后一行)

sed -n 'n,p' test.txt (打印偶数行)

文本过滤模式:

对包含指定字符串的内容进行打印

sed -n '/o/p' test.txt (包含o的行打印出来)

应用基础使用正则表达式进行打印

l& 转换成小写的特殊符号,在使用时候,需要使用转义符

u&转换成大小特殊的符号,在使用时候,需要使用转义符

g:全部替换,如果不加,只是首字母

c:整行替换

g:单字符替换(前后替换长度一致)

相关推荐
charlie114514191几秒前
嵌入式Linux驱动开发——设备树中的 GPIO 配置实战
linux·运维·驱动开发
Hani_973 分钟前
Code Coverage系列(七)Code Coverage 原理详细说明
linux·代码覆盖率
Upsy-Daisy8 分钟前
OpenClaw 源码解析(九):Channel 接入机制与消息路由流程
linux·运维·网络
x***r15113 分钟前
linux安装 apache-tomcat-7.0.42.tar.gz 详细步骤(解压、配置、启动)
linux·tomcat·apache
Gauss松鼠会22 分钟前
GaussDB(DWS)性能问题处理套路
服务器·数据库·postgresql·性能优化·gaussdb
小贺儿开发26 分钟前
Unity UGUI 可视化热区编辑与交互系统
unity·编辑器·游戏引擎·交互·工具·适配·ugui
诸神缄默不语35 分钟前
Linux shell脚本教程
linux·bash·shell·sh
读创商闻38 分钟前
解锁强劲算力,数聚红芯 AI 智算服务器甄选指南
运维·服务器·人工智能
小熊officer38 分钟前
Debian与Linux与Ubuntu的关系
linux
feng_you_ying_li39 分钟前
liunx之信号量与进程信号的基本介绍(1)
linux