linux-sed

sed: Stream Editor文本编辑器,面向字符流, 一次处理一行内容,处理时,将当前处理行存储再临时缓存区中,称为"模式空间"(pattern space), 接着用sed命令处理缓存区的内容,处理完成后,将缓存区的内容送到屏幕,接着处理下一行,不断重复直到结尾。

  • sed命令格式:
    sed [option] 'sed command' filename

  • sed脚本格式:
    sed [option] -f 'sed script' filename

  • sed命令选项
    -n:只打印模式匹配的行(不然会全打出来)必须跟p
    -e: 直接在命令行模式上进行sed动作编辑(默认)
    -f: 执行script脚本
    -r: 支持扩展表达式
    -i: 直接修改原文件内容

  • sed定址

    • 行号:数字或者范围
model summary
x x为行号
x,y 表示行号从x到y
/pattern 查询包含模式的行
/pattern /pattern 查询包含两个模式的行
pattern/,x 在给定行号上查询包含模式的行
x,/pattern/ 通过行号和模式查询匹配的行
x,y! 查询不包含指定行号x和y的行 ! 表示反选
  • sed的编辑命令(sed command)
model summary
p 打印匹配行(和 -n 命令一个合用, 不然默认-e,缓存区的内容会重复输出)
= 显示文件行号
a\ 在定位行号后附加新文本信息
i\ 在定位行号后插入新文本信息
d 删除定位行(只是打印输出删除了,原文件没变)
c|用新文本替换定位文本
w filename 写文本到一个文件,类似输出重定向 >
r filename 从另一个文件中读文本,类似输入重定向 <
s 使用替换模式替换相应模式
q 第一个模式匹配完成后退出或立即退出
l 显示与八进制ACSII代码等价的控制符
n 从另一个文件中读文本下一行,并从下一条命令而不是第一条命令开始对其的处理(啥意思??)
N 在数据流中添加下一行以创建用于处理的多行组
g 将模式2粘贴到/pattern n/
y 传送字符,替换单个字符

——————————————————————————
PS:
linux文件输入输出重定向
输出重定向:

echo line > file
echo line >> file   # 追加不覆盖

重定向输入:

wc -l < file   # 统计文件file的行数

—————————————————————————

栗子:

sed -n '/client_timeout/p' conf  # 打印包含client_timeout的行
sed -n '/client_timeout/,/hahaha/p' conf  # 两个pattern, 满足其一就打印
sed -n '2, /client_timeout/p' conf # 从第2行到出现client_timeout的那行打印

sed -n '-e /=/p' '-e =' test  # 打印包含=的行, 且打印行号








修改配置文件conf的client_timeout值:
sed -i '-e s/\(client_timeout : \).*/\1100/' '-e s/\r//g' "/home/conf"
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • linux sed命令详解 1. Sed简介 sed 是一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行...
    很少更新了阅读 6,416评论 0 6
  • Linux sed命令是利用script来处理文本文件。sed可依照script的指令,来处理、编辑文本文件。Se...
    姜淑均阅读 4,014评论 1 2
  • linux资料总章2.1 1.0写的不好抱歉 但是2.0已经改了很多 但是错误还是无法避免 以后资料会慢慢更新 大...
    数据革命阅读 14,342评论 2 33
  • sed编辑器简介 sed是linux下一种常用的非交互式编辑器,不同于常用的交互式的vim编辑器,我们只能在com...
    健谈的Boris阅读 3,604评论 0 1
  • sed -n "/query/p" 2017-04-07.log |awk -F "," '{print $2}'...
    冰鋒阅读 3,961评论 0 0

友情链接更多精彩内容