Linux文本处理工具sed(流编辑器)

文章目录

  • Linux文本处理工具sed(流编辑器)
  • 1. 数据文件sed.tx
  • 2.将 “Lucy 女 29”插入到sed.txt的第三行
  • 3. 删除sed.txt中包含Lily的hang
  • 4. 将sed.txt中Lily替换为Lucy
  • 5. 将sed.txt文件中第2行删除并将Lily替换为Lucy

Linux文本处理工具sed(流编辑器)

sed是一种流编辑器,它一次处理一行内容。
处理时,把当前处理的行存储在临时缓冲区(模式空间)中,接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送到屏幕。接着处理下一行,这样不断重复直到文件末尾。文件内容并没有改变,除非你使用重定向存储输出。

  1. 基本用法
    sed[选项参数] ‘command’ filename
  2. 选项参数
    -e:直接在指令列模式上进行sed的动作编辑
  3. 命令功能
    a:新增,a的后面可以接字符串,在下一行出现
    d:删除
    s:查找并替换

1. 数据文件sed.tx

张三 男 28
李四 男 31
Lily 女 32

2.将 “Lucy 女 29”插入到sed.txt的第三行

sed ‘2a Lucy 女 29’ sed.txt

[root@localhost jiaoben]# cat sed.txt
张三 男 28
李四 男 31
Lily 女 32
[root@localhost jiaoben]# sed '2a Lucy 女 29' sed.txt
张三 男 28
李四 男 31
Lucy 女 29
Lily 女 32
[root@localhost jiaoben]# cat sed.txt
张三 男 28
李四 男 31
Lily 女 32

sed.txt 文件并没有改变

3. 删除sed.txt中包含Lily的hang

sed ‘/Lily/d’ sed.txt

[root@localhost jiaoben]# cat sed.txt
张三 男 28
李四 男 31
Lily 女 32
[root@localhost jiaoben]# sed '/Lily/d' sed.txt
张三 男 28
李四 男 31

4. 将sed.txt中Lily替换为Lucy

sed ‘s/Lily/Lucy/g’ sed.txt

[root@localhost jiaoben]# cat sed.txt
张三 男 28
李四 男 31
Lily 女 32
[root@localhost jiaoben]# sed 's/Lily/Lucy/g' sed.txt
张三 男 28
李四 男 31
Lucy 女 32

5. 将sed.txt文件中第2行删除并将Lily替换为Lucy

sed -e ‘2d’ -e ‘s/Lily/Lucy/g’ sed.txt

[root@localhost jiaoben]# cat sed.txt
张三 男 28
李四 男 31
Lily 女 32
[root@localhost jiaoben]# sed -e '2d' sed.txt
张三 男 28
Lily 女 32
[root@localhost jiaoben]# cat sed.txt
张三 男 28
李四 男 31
Lily 女 32
[root@localhost jiaoben]# sed -e '2d' -e 's/Lily/Lucy/g' sed.txt
张三 男 28
Lucy 女 32

你可能感兴趣的:(linux,linux,shell)