Unix Sed命令实用单行脚本
需积分: 6 136 浏览量
更新于2024-11-15
收藏 408KB PDF 举报
"sed one line pdf"
本文将详细探讨在Linux或Unix环境中,使用经典文本处理工具sed执行单行命令的技巧。sed(流编辑器)是一种强大的文本操作工具,能够对输入流(标准输入、文件或者管道)进行读取、处理,并将结果输出到标准输出。"sed one line"通常指的是利用一行命令来完成特定的文本处理任务。
1. **基本语法**
sed命令的基本格式是:
```
sed [选项] '命令' 文件
```
其中,选项用于设置sed的工作模式,命令是你要执行的操作,文件是你想要处理的数据源。
2. **删除空行**
```
sed '/^$/d'
```
这行命令会删除所有空白行。`/^$/` 是一个正则表达式,匹配的是没有任何字符的行(即空行),`d` 指令则告诉sed删除这些匹配的行。
3. **追加行**
```
sed 'G'
```
这个命令会在每行末尾添加一个换行符和上一行的内容,实现每一行的复制。
4. **合并两行**
```
sed 'N;N;D'
```
这个命令将连续的两行合并成一行。`N` 命令将下一行内容追加到模式空间,第二个`N`则是将再下一行内容也加入,然后`D`命令删除模式空间的首行,实现两行的合并。
5. **替换匹配的行**
```
sed 's/old/new/g'
```
`s` 是替换命令,`old` 是要查找的模式,`new` 是替换后的文本,`g` 是全局替换标志,表示替换每一行中所有的匹配项。
6. **条件处理**
```
sed '/pattern/{command1;command2}'
```
当行匹配到`pattern`时,执行`command1`和`command2`。例如:
```
sed '/regex/{n;d}'
```
这行命令会找到包含`regex`的行,然后跳过当前行(`n`),并删除下一行(`d`)。
7. **打印匹配行的上下文**
```
sed -n '/pattern/{p;n;p}'
```
`-n` 选项使sed不自动打印每一行,`p` 打印匹配行,`n` 获取下一行。这样可以打印出匹配行及其下一行。
8. **多行模式匹配**
```
sed '/start/,/end/p'
```
该命令会打印从`start`到`end`(不包括`end`)之间的所有行。
9. **追加文本**
```
sed '/regex/a\新行内容'
```
`a` 命令用于在匹配`regex`的行后面添加新的内容。
10. **删除匹配行**
```
sed '/regex/d'
```
删除所有包含`regex`的行。
这只是sed命令的一小部分功能展示,实际上sed提供了更多的功能,如插入、替换、删除、搜索、替换等,可以组合使用来实现复杂的文本处理任务。熟练掌握sed,对于日常的文本操作和脚本编写都极具价值。要深入了解sed,可以参考提供的链接资源,它们包含了更多实用的sed单行命令示例。
2013-10-11 上传
2010-04-20 上传
2012-02-23 上传
114 浏览量
2021-01-10 上传
点击了解资源详情
yarshure
- 粉丝: 0
- 资源: 4
最新资源
- Java集合ArrayList实现字符串管理及效果展示
- 实现2D3D相机拾取射线的关键技术
- LiveLy-公寓管理门户:创新体验与技术实现
- 易语言打造的快捷禁止程序运行小工具
- Microgateway核心:实现配置和插件的主端口转发
- 掌握Java基本操作:增删查改入门代码详解
- Apache Tomcat 7.0.109 Windows版下载指南
- Qt实现文件系统浏览器界面设计与功能开发
- ReactJS新手实验:搭建与运行教程
- 探索生成艺术:几个月创意Processing实验
- Django框架下Cisco IOx平台实战开发案例源码解析
- 在Linux环境下配置Java版VTK开发环境
- 29街网上城市公司网站系统v1.0:企业建站全面解决方案
- WordPress CMB2插件的Suggest字段类型使用教程
- TCP协议实现的Java桌面聊天客户端应用
- ANR-WatchDog: 检测Android应用无响应并报告异常