|
删除操作使用 d 命令,基本的删除操作也基于地址和匹配(一般情况下,地址和匹配并不是很严格区分,可认为一个匹配就是一个地址,习惯上将行号当成是一个地址,而一行中的某个单词,适合于部分内容的正则表达式被认为是匹配)。
删除操作语法:sed 'ADDRESS'd filename
sed /PATTERN/d filename
在 《几种常用模式匹配(打印行) 》里介绍的打印地址和匹配样式语法形式同样适合于删除操作。
测试文本内容如下:$ cat temp.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.
测试一:'Nd' 删除某行> sed '5d' temp.txt
1. Linux - Sysadmin, Scripting etc.
2. Databases - Oracle, mySQL etc.
3. Hardware
4. Security (Firewall, Network, Online Security etc)
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.
测试二:删除某行及间隔一定宽度的行sed '3~2d' temp.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.
测试三:删除某个范围内连续的行sed '3,9d' temp.txt
1. Linux - Sysadmin, Scripting etc.
2. Databases - Oracle, mySQL etc.
10.Windows- Sysadmin, reboot etc.
测试四:删除最后一行sed '$d' temp.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 '/Hardware/d' temp.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.
测试六:删除从匹配行到最后一行sed '/Network/,$d' temp.txt
1. Linux - Sysadmin, Scripting etc.
2. Databases - Oracle, mySQL etc.
3. Hardware
测试七:删除匹配行及跟随指定的 N 行 sed '/Databases/,+3d' temp.txt
1. Linux - Sysadmin, Scripting etc.
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.
测试八:删除空行
空行的表达式为 ‘^$’,删除一个文件中的所有空行可以 sed '/^$/d' filename 。 |
|