Linux下sed命令使用全解析

  一、Sed简介

  Sed:Stream Editor 流式编辑器 又称行编辑器,每次只编辑一行。Sed工作是在“模式空间”中进行的,并不操作源文件。对源文件无危害。

  二、Sed使用格式

  Sed命令的常用格式如下:

  (1)Sed [options] ‘script’ input_file…

  (2)Sed [options] –f script_file input_file…

  (3)Sed [options] ‘ADDR1,ADDR2command’ input_file…

  例如:#sed ’1,2d’ fstab 就可以将fstab的前两行删除并显示出来,但是它不会改变源文件。

  #Sed ‘1,2!d’ fstab 表示删除除第一行和第二行之外的所有行。

  (4)Sed [options] ‘/PATTERN/command’ input_file……

  &:s/l..e/&er/:表示引用前面匹配到的所有字符。

  例如:sed ‘/[[:upper:]]/d’ binary.sh 表示删除所有的大写字母的行。

  (5)Sed ‘/PATTERN1/,/PATTERN2/command’ input_file……

  说明:这表示从第一次被PATTERN1匹配到的行到第一次被PATTERN2匹配到的中间的所有行执行command命令。

  三、Sed的常用选项:

  -n:只显示sed匹配到的行。其余行不显示。下文有范例。

  -i :可以直接操作原文件。默认情况下sed不会改变原文件,但是-i选项可以修改原文件,此选项应慎用。

  -r:可以使用标准正则表达式。默认情况下sed只支持基本正则表达式,但是加上-r选项后则支持扩展正则表达式

  -e:多脚本共用。可以同时执行多个命令。例如:

  代码如下:

  [root@localhost ~]# sed -e 's@@H1@g' -e 's@(l..e).@1r.@g' test

  He love His lover.

  She like Her liker.

  Dove love Her liker.

  也可以这样用,中间用分号隔开:

  代码如下:

  [root@localhost ~]# sed 's@@H1@g;s@(l..e).@1r.@g' test

  四、使用示例

  代码如下:

  #sed -e 命令行处理 -a 新增

  > sed -e '$ a widuu' test.txt #在test.txt的结尾处添加widuu

  代码如下:

  # 把-e换成-n

  > sed -n '$ a widuu' test.txt # 只显示被处理的一行

  代码如下:

  # -c 替换多少行 为你制定的字符串,这里我的test.txt内容如图

  > sed -e '2,5c xiaowei' test.txt #把2-5行替换成字符串xiaowei

  代码如下:

  # 多命令执行 -e

  > sed -e '2,5c xiaowei' -e 's/cccc/widuu/' test.txt

  代码如下:

  # -i 不输出 -s 替换

  >sed -i 's/111111/widuu/g' test.txt

  代码如下:

  # i 插入 自定义的字符串 在test.txt的第二行插入xiaowei

  > sed -e '2i xiaowei' test.txt

  代码如下:

  # d 删除输入任何字符串

  > sed -e '2d' test.txt #删除第二行

(0)

相关推荐

  • 四个 Linux 下的“护眼”软件解析

    晚上熄灯后,看电脑时蓝光刺眼.推荐两个护眼软件.此外最低亮度还是觉得太亮,所以自己写一个调节工具,用一个半透明黑色的遮罩层覆盖屏幕以此“降低”亮度. Redshift Redshift 是一款显示器色 ...

  • Linux下ps命令的10个基本例子

    在Linux下ps命令是用于查看系统上运行的进程的最基本的命令之一。它提供了当前进程的同时,如用户ID,CPU使用率,内存使用率,命令名称等,它不显示实时数据,如top或htop命令的详细信息。但是, ...

  • Linux下touch命令有什么作用如何使用?

    在Linux命令中,我们会经常使用到cd、ls等命令,但像touch这样的命令就比较少用了,那么touch命令有什么作用呢?下面随小编一起来了解下Linux下touch命令的用法吧。 linux的to ...

  • Linux下cat命令有哪些用途如何使用?

    Linux系统下如果要同时显示多个文件的内容,就要使用cat命令了,那么cat命令还有那些用途呢?下面随小编一起来了解下Linux下cat命令的用法。 cat命令的用途是连接文件或标准输入并打印。这个 ...

  • 怎么在linux下修改IP地址?linux下使用命令轻松修改ip地址方法

    下面脚本之家小编为大家带来linux下使用命令轻松修改ip地址方法,不会的同学可以参考本文,希望能帮到大家! 工具/原料 root用户权限 方法/步骤 1、使用root用户登录进入linux,打开进去 ...

  • linux下tar命令遇到error:"Error exit delayed from previous errors"的问题及解决

    linux下tar命令遇到error:"Error exit delayed from previous errors"的问题 用tar命令(tar -cvfz src.tar.gz src)去压缩一 ...

  • Linux下ps命令详解 Linux下ps命令的详细使用方法

    Linux下ps命令详解 Linux上进程有5种状态:1. 运行(正在运行或在运行队列中等待) 2. 中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号) 3. 不可中断(收到信号不唤醒和不可运 ...

  • Linux下ps命令详解

    Linux下ps命令详解 Linux上进程有5种状态: 1. 运行(正在运行或在运行队列中等待) 2. 中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号) 3. 不可中断(收到信号不唤醒和不可 ...

  • Linux 下 Make 命令实例详解

    Linux 下 Make 命令实例详解 Linux 下 make 命令是系统管理员和程序员用的最频繁的命令之一.管理员用它通过命令行来编译和安装很多开源的工具,程序员用它来管理他们大型复杂的项目编译问 ...