文件编辑之神器Sed

1.png

2.png

pattern space   //  文本中每行内容都会进入到pattern space中, 如果匹配到了,就会进入到右分支, 如果没有匹配到,则进入左分支。


hold space  //  就是已经被模式匹配到, 并且编辑后保存的内容就是hold space 中.

默认情况下,当没有被匹配之后,没有匹配到内容也会被输出到屏幕之上, 一旦被模式匹配上, 就分为两种操作, 一种是标准输出, 另外一种则是编辑。

 

sed 用法:  sed [option]… script inputfile

选项[option]:

-n: 不输出模式空间的内容(屏蔽自动输出

        -e: 多点编辑

-f: 文件,文件中放地址命令

-r: 支持扩展的正则表达式

-i: 在文件中直接编辑

 

   script == 地址命令  

地址和命令之间没有任何符号。

   

地址定界:

(1)不给地址,直接操作, 对全文操作

(2)  单地址

1>. #

2>. /pattern/  被此处模式匹配到的每一行

3>.$ 表示最后一行

 

(3) 地址范围

1>. #,#   两个指定行中的所有行,包括两个指定行

2>.#,+#   +#  同上

3>./part1/,/part2/   两次匹配行之间的所有行,包括匹配到的行

4>.#,/part/    指定行到匹配的行

 

(4)步进

1~2   所有的奇数行

2~2  所有的偶数行

 

基础编辑指令:

(1). d  删除匹配到的行

(2). p  显示匹配到的行  一般要与-n一起用,否则被匹配到行会显示两次

(3). c   替换匹配的字符串或者行

(4). a   在匹配到行尾追加内容

(5) i   在匹配到行首添加内容

(6) w /path/to/file   sed匹配编辑后的内容保存到另外一份文件中

(7) r /path/to/file    将指定文件的内容追加到匹配到行之后

(8) =  打印行号

(9)  !  模式空间中匹配行取反处理

 

替换操作删除或者编辑行中部分内容的时候,要使用替换操作

s/匹配到到内容/替换的内容/替换标记

替换标记:

g: 全局替换(整行都替换)  默认只替换第一个匹配到的内容

p: 显示替换成功的行

w:  将替换成功的行指定到模文件中 w /path/to/file

 

高级编辑指令:

高级编辑指令其实就是将模式空间和保持空间中的内容来回互调,实现一些高大上的指令效果。

选项:

3.png

原创文章,作者:458813466,如若转载,请注明出处:http://www.178linux.com/34960

(0)
458813466458813466
上一篇 2016-08-15
下一篇 2016-08-15

相关推荐

  • MapReduce数据流

    Hadoop的核心组件在一起工作时如下图所示: 图4.4高层MapReduce工作流水线   MapReduce的输入一般来自HDFS中的文件,这些文件分布存储在集群内的节点上。运行一个MapReduce程序会在集群的许多节点甚至所有节点上运行mapping任务,每一个mapping任务都是平等的:mappers没有特定“标识物”与其关联。因此,任意的map…

    Linux干货 2015-05-13
  • 马哥教育网络20期+第二周练习博客

    1、 Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。 ls 使用方式:ls [OPTION]… [DIR]… 常用选项: -a:显示所有档案及目录;  -A:显示除影藏文件“.”和“..”以外的所有文件列表; -C:多列显示输出结果。这是默认选项;  -l:与“-C”选项功能相反,所有输出…

    Linux干货 2016-06-23
  • 第六周作业 bash编程学得好痛苦啊,啊啊啊~~需要挺住!

    请详细总结vim编辑器的使用并完成以下练习题 VIM很强大,但是万变不离其宗,最核心的三模式以下图表示: 1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#; :%s/^[[:blank:]]\+.*/\0#/g 2、复制/boot/grub/grub.conf至/…

    Linux干货 2016-12-19
  • Linux文件管理命令

    Linux系统上文件管理命令 一、文件查看类命令      1、cat 由第一行开始显示文件内容 语法格式: cat [选项列表] [文件列表]… 参数说明: -A, –show-all 等价于 -vET 。 -b, –number-nonblank 给非空输出行编号。 -e 等价于 -vE 。 -E…

    Linux干货 2017-07-24
  • 记事本操作的小小小技巧

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://jeffyyko.blog.51cto.com/28563/140063       大家在查看文本文件的时候,如果内容很多,想快速到达某一位置可能比较麻烦,这时如果按住shift,再点击右侧…

    Linux干货 2015-03-26
  • N22-第二周作业

    Linux上的文件管理类命令有哪些,其常用使用方法及其相关示例演示。 文件管理类命令有:cp,mv,rm cp:复制文件或者目录   单源复制:cp [OPTION]… [-T] SOURCE DEST        多源复制:cp [OPTION]… SOURCE… DI…

    Linux干货 2016-09-19