Linux下的SED脚本实用指南
需积分: 9 24 浏览量
更新于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 上传
点击了解资源详情
gyz519822108
- 粉丝: 1
- 资源: 2
最新资源
- Testing-React-Practice
- ADS1292R_stm32ads1292r_ads1292rSTM32_ads1292r_ADS1292R基于STM32的驱动
- 项目
- musicExtractBackend:音乐提取服务的后端
- jsblocks.I18n:jsblocks 框架的小型 I18n 扩展
- Postman-Plot
- Library-Management-System:具有PHP和MySQL的图书馆管理系统
- Python库 | python-ffmpeg-video-streaming-0.0.11.tar.gz
- 预算跟踪器
- Brightnest:家庭自动化系统
- 毕业设计&课设--仿京东商城毕业设计.zip
- BathtubFunctionFit:用于估计第四个多项式函数的参数的Python脚本。 此功能通常用于在等温线种群建模中内插有关死亡率对温度的依赖性的数据
- react-fullstack-boilerplate:沸腾板
- Excel模板考试日程安排表.zip
- rbf_pidtest_matlab
- SimplyCoreAudioDemo::speaker_high_volume:SimplyCoreAudio演示项目