欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

sed 命令

程序员文章站 2024-02-01 20:55:10
Linux 常用的文本处理命令 grep,sed(流编辑器),awk(报告文本生成器) sed 基本用法: sed : Stream EDitor 行编辑器(逐行处理文本) 全屏编辑器:vi sed: 模式空间 默认不编辑原文件,仅对模式空间的数据做处理,而后,处理结束后,将模式空间打印至屏幕 se ......

linux 常用的文本处理命令

grep,sed(流编辑器),awk(报告文本生成器)


sed 基本用法:

sed : stream editor
行编辑器(逐行处理文本)
全屏编辑器:vi

sed: 模式空间
默认不编辑原文件,仅对模式空间的数据做处理,而后,处理结束后,将模式空间打印至屏幕

sed [option] 'addresscommand' file ...
-n : 静默模式,不再显示模式空间的内容
-i : 直接修改原文件
-e script -e script: 可以同时执行多个脚本 script为脚本
-r :表示使用扩展正则表达式
address:
1 startline,endline
1,100 从第一行到第一百行
$: 最后一行
2 /rdgexp/
/^root/
3 /pattern1/ , /pattern2/
第一次被pattern 匹配到的行开始,至第一次被pattern2匹配到的行结束,这中间的所有行
4 linenumber
指定的行
5 startline, +n
从startline开始,向后的n行;

command:
d:删除匹配到的行 sad '1,2d' 删除1到2行;
p:显示符合条件的行;
a \string : 在指定的行后面追加新行,内容为string
\n : 可以用于换行
i \string : 在指定的行前面追加新行,内容为string
r file: 将指定的文件内容,添加至符合条件的行数
sed '2r /文件路径' /文件路径
w file : 将地址指定范围内的行另存至指定文件中
s /pattern/string/修饰符 : 查找并替换,默认只替换每行中第一次被模式匹配到的字符串
pattern(模式) 可以使用正则表达式
加修饰符
g;全局替换
i: 忽略字符大小写
s///=s###=s@@@(替换符号的分隔符可以用其他字符,只要是三个一样的就可以)
&引用模式匹配到的所有字符串