sed命令详解与awk入门
需积分: 3 6 浏览量
更新于2024-09-16
收藏 9KB TXT 举报
"这是一份关于`sed`学习的笔记,摘自《sed and awk》一书,主要涵盖了`sed`的基本和高级用法,包括替换命令`s`、全局匹配`g`、命令行参数以及脚本文件的使用。笔记还简要提及了`awk`的相似性和工作方式,强调了在实际操作中需要注意的细节问题,如避免输出重定向到源文件导致的乱码等。"
在`sed`中,替换命令`s`是核心功能之一,用于在文本中查找并替换匹配的模式。语法是`/[address]/s/pattern/replacement/flag`。`address`可以指定要操作的行,如果省略则默认为当前行。`pattern`是需要匹配的文本,`replacement`是替换后的文本,`flag`是可选的操作标志,如`g`用于全局替换,即替换每行中所有匹配的实例。
关于`g`的用法,它在命令的不同位置有不同的含义。在`address`之后,`g`表示对所有匹配该地址的行进行替换。而在`s`命令的末尾,`g`表示替换每行中的每一个匹配项,而不仅仅是第一个。如果在`address`后面添加感叹号`!`,则表示不替换与`address`匹配的行,而替换其他行。
笔记中还提到了一个简化版的替换命令,如果`address`和`pattern`相同,可以写作`g/address/s//replacement/g`,简化了表达。
全局打印命令`g/regular-expr/p`会输出所有匹配`regular-expr`的行,这个功能类似于`grep`命令。
`sed`的简单使用形式包括在命令行直接指定单个或多个指令,如`sed [-e]'instruction' filename`,或者使用脚本文件`sed -f srcfile filename`来执行更复杂的操作。同时,笔记提醒我们,在保存输出时应避免将结果重定向回源文件,以防止数据混乱。
`-n`选项可以抑制默认的行输出,配合`p`使用时,仅打印经过`sed`处理的行,如`sed -n '/MA/ma/p' file`。
笔记中还简要介绍了`awk`,指出其工作原理与`sed`类似,但更侧重于处理结构化的数据。`awk`读取文件的每一行作为记录,并以空格或制表符分割字段。每个字段可以通过`$0`至`$n`来访问,其中`$0`表示整个记录,`$1`至`$n`表示记录中的各个字段。在`awk`中,指令需要包含在单引号中,并用大括号`{}`包裹。
整体来看,这份笔记提供了`sed`和`awk`的基础知识,对于理解和应用这两个强大的文本处理工具非常有帮助。
2009-04-15 上传
2012-02-03 上传
2023-09-12 上传
2023-07-16 上传
2023-11-12 上传
2023-05-10 上传
2023-09-05 上传
2023-09-17 上传
2023-08-13 上传
bworld
- 粉丝: 0
- 资源: 2
最新资源
- WebLogic集群配置与管理实战指南
- AIX5.3上安装Weblogic 9.2详细步骤
- 面向对象编程模拟试题详解与解析
- Flex+FMS2.0中文教程:开发流媒体应用的实践指南
- PID调节深入解析:从入门到精通
- 数字水印技术:保护版权的新防线
- 8位数码管显示24小时制数字电子钟程序设计
- Mhdd免费版详细使用教程:硬盘检测与坏道屏蔽
- 操作系统期末复习指南:进程、线程与系统调用详解
- Cognos8性能优化指南:软件参数与报表设计调优
- Cognos8开发入门:从Transformer到ReportStudio
- Cisco 6509交换机配置全面指南
- C#入门:XML基础教程与实例解析
- Matlab振动分析详解:从单自由度到6自由度模型
- Eclipse JDT中的ASTParser详解与核心类介绍
- Java程序员必备资源网站大全