`

sed系列:行或者模式匹配删除特定行

 
阅读更多
“p” command prints the buffer (remember to use -n option with “p”)
“d” command is just opposite, its for deletion. ‘d’ will delete the pattern space buffer and immediately starts the next cycle.

Syntax:
# sed 'ADDRESS'd filename
# sed /PATTERN/d filename

Let us first creates thegeekstuff.txt file that will be used in all the examples mentioned below.
# cat thegeekstuff.txt
1. Linux - Sysadmin, Scripting etc.
2. Databases - Oracle, mySQL etc.
3. Hardware
4. Security (Firewall, Network, Online Security etc)
5. Storage
6. Cool gadgets and websites
7. Productivity (Too many technologies to explore, not much time available)
8. Website Design
9. Software Development
10.Windows- Sysadmin, reboot etc.

例子1:删除第n行
sed ‘Nd’ filename
As per sed methodology,
It reads the first line and places in its pattern buffer.
Check whether supplied command is true for this line, if true, deletes pattern space buffer and starts next cycle. i.e Read next line.
If supplied command doesnt true, as its normal behaviour it prints the content of the pattern space buffer.

$ sed 3d thegeekstuff.txt
1. Linux - Sysadmin, Scripting etc.
2. Databases - Oracle, mySQL etc.
4. Security (Firewall, Network, Online Security etc)
5. Storage
6. Cool gadgets and websites
7. Productivity (Too many technologies to explore, not much time available)
8. Website Design
9. Software Development
10.Windows- Sysadmin, reboot etc.
例2:从第三行开始,每隔一行删除
$sed 3~2d thegeekstuff.txt
1. Linux - Sysadmin, Scripting etc.
2. Databases - Oracle, mySQL etc.
4. Security (Firewall, Network, Online Security etc)
6. Cool gadgets and websites
8. Website Design
10.Windows- Sysadmin, reboot etc.
$
例3:删除从第4行到第8行
$sed 4,8d thegeekstuff.txt
1. Linux - Sysadmin, Scripting etc.
2. Databases - Oracle, mySQL etc.
3. Hardware
9. Software Development
10.Windows- Sysadmin, reboot etc.
$sed '4,8d' thegeekstuff.txt
1. Linux - Sysadmin, Scripting etc.
2. Databases - Oracle, mySQL etc.
3. Hardware
9. Software Development
10.Windows- Sysadmin, reboot etc.
$sed '4,8'd thegeekstuff.txt
1. Linux - Sysadmin, Scripting etc.
2. Databases - Oracle, mySQL etc.
3. Hardware
9. Software Development
10.Windows- Sysadmin, reboot etc.
例4:删除最后一行
$sed '$'d thegeekstuff.txt
1. Linux - Sysadmin, Scripting etc.
2. Databases - Oracle, mySQL etc.
3. Hardware
4. Security (Firewall, Network, Online Security etc)
5. Storage
6. Cool gadgets and websites
7. Productivity (Too many technologies to explore, not much time available)
8. Website Design
9. Software Development
$sed '$d' thegeekstuff.txt
1. Linux - Sysadmin, Scripting etc.
2. Databases - Oracle, mySQL etc.
3. Hardware
4. Security (Firewall, Network, Online Security etc)
5. Storage
6. Cool gadgets and websites
7. Productivity (Too many technologies to explore, not much time available)
8. Website Design
9. Software Development
例5:行匹配删除
$sed /Sysadmin/d thegeekstuff.txt
2. Databases - Oracle, mySQL etc.
3. Hardware
4. Security (Firewall, Network, Online Security etc)
5. Storage
6. Cool gadgets and websites
7. Productivity (Too many technologies to explore, not much time available)
8. Website Design
9. Software Development
$sed '/Sysadmin/d' thegeekstuff.txt
2. Databases - Oracle, mySQL etc.
3. Hardware
4. Security (Firewall, Network, Online Security etc)
5. Storage
6. Cool gadgets and websites
7. Productivity (Too many technologies to explore, not much time available)
8. Website Design
9. Software Development
$sed '/Sysadmin/'d thegeekstuff.txt
2. Databases - Oracle, mySQL etc.
3. Hardware
4. Security (Firewall, Network, Online Security etc)
5. Storage
6. Cool gadgets and websites
7. Productivity (Too many technologies to explore, not much time available)
8. Website Design
9. Software Development
$
例6:从匹配行到末尾行
$sed '/Website Design/,$d' thegeekstuff.txt
1. Linux - Sysadmin, Scripting etc.
2. Databases - Oracle, mySQL etc.
3. Hardware
4. Security (Firewall, Network, Online Security etc)
5. Storage
6. Cool gadgets and websites
7. Productivity (Too many technologies to explore, not much time available)
$sed '/Website Design/,$'d  thegeekstuff.txt
1. Linux - Sysadmin, Scripting etc.
2. Databases - Oracle, mySQL etc.
3. Hardware
4. Security (Firewall, Network, Online Security etc)
5. Storage
6. Cool gadgets and websites
7. Productivity (Too many technologies to explore, not much time available)
例7:删除匹配行和之后两行
$sed '/Storage/,+2d' thegeekstuff.txt
1. Linux - Sysadmin, Scripting etc.
2. Databases - Oracle, mySQL etc.
3. Hardware
4. Security (Firewall, Network, Online Security etc)
8. Website Design
9. Software Development
10.Windows- Sysadmin, reboot etc.
$sed '/Storage/,+2'd thegeekstuff.txt
1. Linux - Sysadmin, Scripting etc.
2. Databases - Oracle, mySQL etc.
3. Hardware
4. Security (Firewall, Network, Online Security etc)
8. Website Design
9. Software Development
10.Windows- Sysadmin, reboot etc.
例8:删除空行
$sed '/^$/d' thegeekstuff.txt
1. Linux - Sysadmin, Scripting etc.
2. Databases - Oracle, mySQL etc.
3. Hardware
4. Security (Firewall, Network, Online Security etc)
5. Storage
6. Cool gadgets and websites
7. Productivity (Too many technologies to explore, not much time available)
8. Website Design
9. Software Development
10.Windows- Sysadmin, reboot etc.
分享到:
评论

相关推荐

    shell 删除指定行上一行

    - 使用`sed`的模式匹配功能找到包含特定模式的行。 - 使用`sed`的`d`命令来删除匹配的行。 2. **删除指定行的上一行**: - 需要使用`sed`的一些高级特性,比如地址范围和标签,以便识别并删除匹配行的上一行。 ...

    sed命令详解

    - **rfilename**: 读取指定文件的内容并追加到当前文件被模式匹配到的行后面。 - **wfilename**: 将模式空间中的内容保存到指定文件。 - **!**: 条件取反,通常用于模式后面,命令前面,如:`/pattern/!p`表示打印未...

    sedsed工具

    `sed`(流编辑器,Stream Editor)是一个强大的文本处理工具,常用于对输入流(标准输入)或文件进行模式匹配和替换操作。`sedsed`在`sed`的基础上增加了一些特性,使得文本处理更加灵活和高效。 ### `sed`基础概念...

    SED命令完全解读

    2. **匹配正则表达式**:使用`/pattern/`进行模式匹配。 3. **比较域**:通过比较两行进行操作。 4. **增加、附加、替换**:使用`a`、`i`和`s`命令进行文本添加、插入和替换。 5. **基本命令**:如`d`删除行,`p`...

    linux 系统 sed 命令使用方法

    它能够按照脚本指令读取输入文件(标准输入或文本文件),对其进行模式匹配、替换、删除等操作,并将处理后的结果输出到标准输出或其他文件中。在日常工作中,`sed`常被用于自动化脚本编写、日志文件分析以及文本...

    基本的SED命令有大量的SED命令

    这里提到的地址可以是模式匹配、行号或者是特殊的地址符号。大多数SED命令支持两个地址的组合,用于指定一个具体的行范围。例如: ``` [start_address,end_address]command ``` 值得注意的是,并非所有的命令都...

    Sed学习笔记

    它能够一次性处理文件中的一行内容,将每一行存储在一个临时区域,即“模式空间”(Pattern Space),然后通过一系列预定义的命令对这一行进行操作。操作完成后,该行内容会被输出到屏幕上,但原始文件内容不会被...

    sed高级用法学习笔记和实例

    - 删除包含特定模式的所有行:`sed '/pattern/d' file` - 删除文件中的第5行:`sed '5d' file` 4. **合并操作**: - 合并两行:`sed 'N;s/\n//g' file` (将下一行附加到当前行,并删除换行符) 5. **跳转操作**...

    Unix/Linux sed命令手册

    - **模式匹配**: 使用正则表达式来匹配行。 ##### 2.3 编辑指令 - **s**: 替换字符串。例如 `s/pattern/replacement/flags`。 - **d**: 删除行。 - **a**: 在匹配行之后添加文本。 - **i**: 在匹配行之前插入文本。...

    sed使用方法详解sed使用方法详解

    sed中的命令可以作用于特定的行或者行范围。这可以通过地址来指定,地址通常出现在命令之前,用空格分隔。例如: - `1`:指定第一行。 - `$`:指定最后一行。 - `/pattern/`:匹配正则表达式`pattern`的行。 - `...

    sed手册完整版

    删除匹配特定模式的所有行: ``` sed '/pattern/d' input_file ``` **3.4 搜寻文件中的数据** 搜索特定模式: ``` sed -n '/pattern/p' input_file ``` 这里`-n`选项用于抑制默认输出,仅输出匹配的行。 #### 四...

    grep,sed, awk 总结

    - 模式用于指定匹配行的条件,可以是正则表达式、关系表达式或模式匹配表达式。 - 动作定义了当模式匹配成功时,应当执行的命令序列。 awk的基本用法为: ``` awk [选项] -f 文件 [文件] ``` - `-F` 选项用于指定...

    《SED 单行脚本快速参考》

    - 解析:`-n` 禁止默认输出,`-p` 打印匹配的行,由于没有模式匹配,所以它会打印所有行。 - **DOS环境的略过**: 对于DOS环境下的具体转换方法,文中提到可以使用 `sed`s 特定版本或者 `tr` 命令。 4. **DOS环境...

    LINUX下,最新SED手册

    - `/pattern/`:处理匹配特定模式的行。 - `1,3`:处理第一行到第三行。 **五、sed的调用** 基本的sed调用格式为:`sed [-nefri] [command] [input_file]`。其中: - `-n`:抑制默认的行输出。 - `-e`:添加一个或...

    linuxsed与awk第三版

    Sed的强大之处在于它可以对文本进行模式匹配、替换、删除、插入等多种操作,并且可以实现批处理,非常适合处理大量文本文件。在本书中,你将了解到基本的sed命令语法,如使用正则表达式进行匹配,如何使用地址范围来...

    sed用法介绍,非常实用

    - **使用正则表达式**:通过构建正则表达式来查找特定模式的行。 具体示例包括: - `1`:匹配第一行。 - `2,5`:匹配第二行到第五行之间的所有行。 - `/disk/`:匹配包含“disk”的行。 - `/disk/disks/`:匹配...

    Sed与awk_中英文高清版

    Sed擅长于进行模式匹配和替换操作,它通过正则表达式实现复杂的文本查找和替换功能,无需编写完整的程序就能完成许多文本处理任务。 Awk,全称为Aho, Weinberger, and Kernighan,是一种高级的数据处理语言。它的...

    sed-4.2.1.rar包括sed-4.2.1-setup.exe、sed-4.2.1-dep.zip、sed-4.2.1-bin.zip

    4. **模式匹配**:通过正则表达式实现对文本的模式匹配,用于查找或替换满足特定规则的文本。 5. **流式处理**:`sed`可以处理标准输入、输出和重定向,适合于管道操作,与其他命令组合使用。 6. **脚本编写**:`...

    sed用法实例指导DOC版

    **sed(Stream Editor)**是Linux和Unix系统中的一款强大文本处理工具,它可以在数据流中进行模式匹配、替换、删除、插入等操作,而无需对原始文件进行任何实际的修改。通过管道(pipe)与其他命令配合使用,sed在...

Global site tag (gtag.js) - Google Analytics