#!/bin/bash #本人第一次学习Sed,先做个总结 1.sed是什么
sed编辑器在shell脚本中很有用。因为在shell脚本中使用像vi/ex这类交互式编辑器,要求脚本用户精通该编辑器,而且还会导致用户对打开的文件作出不需要的修改。如果需要执行多项任务,或是不想为shell命令行上的sed命令加引号,也可以把sed命令写在一个叫做sed脚本的文件里。记住,在命令行中输入命令时,shell会设法转换命令行中所有的原字符/空白。sed命令中凡是可能被shell解释的字符都必须加上引号加以保护。
2.如何工作
工作原理:sed编辑器逐行处理文件/输入,把当前正在处理的行保存在一个临时的缓冲区--模式缓存区,然后处理此行--在该行执行sed命令,并且将输出结果发送到屏幕(要注意的是,若之前的命令取消了打印,这里就不会有输出了),sed每处理完一行,就将其从哦姑娘模式还从去中删除,然后处理下一行,知道处理完给定的输入文件文件/键盘输入,sed就结束了生命。当然,你也可以使用重定向、管道把结果发往其他位置。工作特点:盘要处理的行都被拷贝到临时缓冲区,然后对这个副本进行编辑,故不会影响/破坏文件。
格式 sed 'command' filename(s)
3.处理指定行(定址)sed默认情况下处理所有的行,你可使用定址的方式高诉sed要处理的行。定址的方式可是数字/正则表达式,或二者的结合。
1* 使用数字定址
% sed '1,3d' file
在屏幕上打印文件flie中除1-3以外的所有行,1,3指定命令(删除"d")处理行的范围,%是csh的提示符
1* 使用正则表达式定址
% sed '/Tom/!d' file
在屏幕上打印文件flie中不含有串Tom的行,更多的命令参看下面给出的列表
4.命令与列表
更多的命令选项如下表
sed概述
最新推荐文章于 2024-11-08 00:00:00 发布