Linux下的SED脚本实用指南
需积分: 9 87 浏览量
更新于2024-09-08
收藏 248KB PDF 举报
"Linux下的SED脚本参考,包括各种实用的一行脚本示例,用于文本处理和编辑。"
在Linux环境中,SED(Stream Editor)是一个强大的文本处理工具,常用于处理流式数据,如标准输入或文件。这篇文档提供了一系列的一行SED脚本,涵盖了从简单到复杂的多种操作,帮助用户快速理解和应用SED命令。
### 增加或删除空行
- `sed G`:在每行末尾添加一个空行,确保每行后都有且只有一个空行。
- `sed '/^$/d;G'`:删除所有空白行,然后在每一行后添加一个空行,确保每行非空白行后有一个空行。
- `sed 'G;G'`:先添加一个空行,然后删除所有偶数行(即原为空白行的位置),使每行非空白行后有一个空行。
- `sed 'n;d'`:在匹配特定模式的行前插入一个空行。
- `sed '/regex/{x;p;x;}'`:在匹配正则表达式“regex”的行后插入一个空行。
- `sed '/regex/G'`:在匹配“regex”行的前后各插入一个空行。
- `sed '/regex/{x;p;x;G;}'`:在匹配“regex”行的前后各插入一个空行,并保持原有的空行。
### 行编号
- `sed 'N;s/\n/ /'`:为文件中的每一行进行编号,使用空格分隔,适用于行数不多的情况。
- `sed -e ':a' -e '$!N;s/\n/ /;ta' -e 'P;D'`:更通用的行编号方法,适合长文件,每行左侧对齐。
### 替换与查找
- `sed 's/pattern/replacement/'`:替换所有出现的“pattern”为“replacement”。
- `sed 's/pattern/replacement/g'`:全局替换,替换文件中所有匹配的“pattern”。
- `sed 's/pattern//g'`:删除所有匹配的“pattern”。
- `sed '/pattern/d'`:删除所有匹配“pattern”的行。
### 插入文本
- `sed '/regex/i\insertion_text'`:在匹配“regex”的行前插入“insertion_text”。
- `sed '/regex/a\append_text'`:在匹配“regex”的行后追加“append_text”。
### 查找与过滤
- `sed -n '/pattern/p'`:仅打印匹配“pattern”的行。
- `sed -n '/^pattern$/p'`:仅打印完全匹配“pattern”的行。
### 删除空白字符
- `sed 's/^\s*//'`:删除每行开头的空白字符。
- `sed 's/\s*$//'`:删除每行结尾的空白字符。
- `sed 's/[[:space:]]\+/\ /g'`:将连续的空白字符替换为单个空格。
### 其他操作
- `sed 's/pattern/replacement/3'`:仅替换第三个匹配的“pattern”。
- `sed 's/pattern/replacement/4g'`:从第四次匹配开始,全局替换“pattern”。
这些例子只是SED强大功能的冰山一角,通过组合和调整这些脚本,可以解决复杂的文本处理问题。学习并熟练运用SED,能极大地提升你在文本处理和自动化任务中的效率。
2010-03-23 上传
2017-06-24 上传
2012-07-19 上传
点击了解资源详情
点击了解资源详情
2024-04-30 上传
2021-01-20 上传
2012-04-01 上传
205 浏览量
gyz519822108
- 粉丝: 1
- 资源: 2
最新资源
- StarModAPI: StarMade 模组开发的Java API工具包
- PHP疫情上报管理系统开发与数据库实现详解
- 中秋节特献:明月祝福Flash动画素材
- Java GUI界面RPi-kee_Pilot:RPi-kee专用控制工具
- 电脑端APK信息提取工具APK Messenger功能介绍
- 探索矩阵连乘算法在C++中的应用
- Airflow教程:入门到工作流程创建
- MIP在Matlab中实现黑白图像处理的开源解决方案
- 图像切割感知分组框架:Matlab中的PG-framework实现
- 计算机科学中的经典算法与应用场景解析
- MiniZinc 编译器:高效解决离散优化问题
- MATLAB工具用于测量静态接触角的开源代码解析
- Python网络服务器项目合作指南
- 使用Matlab实现基础水族馆鱼类跟踪的代码解析
- vagga:基于Rust的用户空间容器化开发工具
- PPAP: 多语言支持的PHP邮政地址解析器项目