Linux文本处理三剑客----sed
sed作为行编辑器对文本进行编辑 sed编辑文件,却不改变源文件 sed的工作原理: 指定一个文本文件,一次读取文本文件中每行的内容,读取到模式空间中(PATTERN SPACE),在模式空间中进行文本匹配(正则表达式),对匹配后的内容进行修改(替换,删除,修改,打印,保存) 用法: sed [参数] “sed自己独立的用法格式的语句” [文本文件] 参数选项: -n? 拒绝默认显示 -r? 指定使用扩展的正则表达式 匹配IP 1、所有的、都不要 2、|或者 -e? 写script -f? 指定脚本文件 -l? 指定文本换行的长度 -i? 直接修改文件内容 地址定界方式 1、直接匹配数值 sed -n ‘5,7’p 文本文件 2、d ~ 步长 sed -n ‘1~3p’ 文本文件 3、$指定行尾 sed -n ‘10~$p’ 文本文件 4、/正则/ sed -n ‘/k{5,}/,$p‘ 文本文件 5、0,addr addr可以为? 数字/$/正则表达式 sed -n ‘0,/k、{5,、}p’ 文本文件 6、addr,+N 配置addr行到addr后N行 sed -n ‘/fd/,+5p‘ 文本文件 常见命令 p print 打印 d? 删除 c? 替换 sed "/aaa/c A" 文本文件 n N 读取/添加? 模式匹配到行的下一行内容,在对其进行操作 w? 保存文件内容到一个新的文件 s? 文本内容替换,默认替换模式空间匹配到的的一项内容 语法格式:s/pattern/字符串/ 中间的/可以替换为任意一个特殊字符 sed的高级应用 模式空间? --? hold space (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |