文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>shell编程指南读书笔记(二)--sed应用初步

shell编程指南读书笔记(二)--sed应用初步

时间:2009-04-07  来源:yilongtech

sed
sed 是一种几乎包括在所有 UNIX 平台(包括 Linux)的轻量级流编辑器。sed 有许多很好的特性。首先,它相当小巧,通常要比您所喜爱的脚本语言小很多倍。其次,因为 sed 是一种 流编辑器,所以,它可以对从如管道这样的标准输入接收的数据进行编辑。因此,无需将要编辑的数据存储在磁盘上的文件中。因为可以轻易将数据管道输出到 sed,所以,将 sed 用作强大的 shell 脚本中长而复杂的管道很容易。
sed的基本命令格式: sed 参数  'sed 命令' input-files
sed的基本参数:
-n 关闭原始内容输出
-p 是复制(同时也会显示原始行,若不想显示原始行,可加参数n)
-r  使用扩展正则表达式
-h  复制进模式缓冲区,以一行为单位(以后的总会将之前的一行覆盖)类似黑熊掰棒子
-H  复制到缓存区,与h不同的是,不覆盖之前的行。
-i   保存修改至原文件
'$G'  将暂存区的数据取出,放到文件的最后一行
'$g'   是使用暂存区的数据,替换掉文件的最后一行。
-e    是多步操作时用到的一个参数。当执行多个sed命令的时候会用到,
 比如:
       我想复制passwd的1,5行内容到文件末尾。这里我们需要执行二步操作
 1. 复制1,5行;
 2. 将暂存区的内容放到passwd1末尾
        这样可能显得比较烦索些,如果我们用-e事情就会变得很简单:
 sed -e '1,5H'  -e '$G' passwd1
 这就是-e的作用。
-d    删除
下面的一些参数,主要用于正则表达式中
a ----   在选定行的下面,插入字符串;
i-----    在选定行的上面,插入字符串;
r ----    将指定文件,读取到选定行的后面;
w----    将选定行(或者叫匹配正则表达式的行)重定向到一个新文件;
c----      将匹配的行替换成要修改的内容
sed -e '/^#/d' /etc/services | more sed -n '/ssh/w newfile' passwd1 sed  '/pcap/i /verygood' passwd1 sed -e '/juan/a verygood' passwd1 补充:::: 其中还有一个很重要参数:s----替换 其格式:  's/1/2/'   将每行第一次出现的1全部替换成2.(若想将行中的1全部替换成2,需要加一个参数g)   's/1/2/g' 
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载