版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Linux操作系统sed流编辑器与awk文本处理工具目录/Contents0102sed流编辑器awk文本处理工具01sed流编辑器sed基本语法sed是一种流编辑器,常用于在命令行中对文本进行处理和替换。它按照行处理输入文本,根据给定的编辑指令进行匹配和替换操作,并将结果输出到标准输出。sed支持正则表达式以及模式匹配和替换功能。其基本语法如下:其中,options表示sed的选项,例如-n、-i、-f等。files表示要编辑的文件,如果没有指定文件,也可以从标准输入读取文本。command表示sed的命令,也可以理解成编辑指令。命令使用一对引号标识,可以是单个命令或由多个命令组成,多个命令之间用分号隔开。sed命令基本示例如下:其中,s是命令,表示替换;old_string是要被替换的字符串或正则表达式的模式;new_string是替换后的新字符串;g是替换标志,即替换所有匹配到的字符串;file.txt是要进行替换操作的目标文件。sed[options]'command'filessed's/old_string/new_string/g'file.txtsed选项sed选项可以控制sed的运行方式,改变sed的工作流程。常用的sed选项下表所示。序号选项描述1-n不自动输出模式空间的内容,用于禁止自动输出模式空间的内容,通常配合p命令使用来输出指定行。示例:sed-n'2p'file.txt2-e允许在同一个sed命令中使用多个子命令。示例:sed-e's/old_string/new_string/g'-e'3d'file.txt3-f将命令保存在文件中。使用-f选项来读取命令,可避免在命令行中使用很长的命令。示例:sed-fcommands.txtfile.txt4-i直接修改文件,而不是将结果输出到标准输出。示例:sed-i's/old_string/new_string/g'file.txt5-r使用扩展正则表达式。示例:sed-r's/([a-z]+)([0-9]+)/\2\1/g'file.txt6-h显示帮助信息。示例:sed-hsed命令sed命令分为两类,分别是地址指令和动作指令。常用的sed指令下表所示。地址指令,也称为定位指令,用于指定要应用动作指令的文本行范围,可以使用数字、正则表达式、first~step语法等。地址指令可以单独使用,也可以与动作指令一起使用。动作指令,用于对已定位的文本行进行操作,包括删除、修改、添加、输出等。动作指令必须与地址指令配合使用才能生效。序号指令描述1p输出指定行或匹配行。示例:sed-n'2,4p'file.txt2=输出行号。示例:sed'3='file.txt3a在指定行之后追加文本。示例:sed'2aNewline'file.txt4c用新文本替换匹配的行。示例:sed'/RHEL/cUbuntuLinux'file.txt5d删除匹配的行。示例:sed'3d'file.txt6i在指定行之前插入文本。示例:sed'3i\headertext'file.txt7a在指定行之后应用动作指令。示例:sed'3a\append_string'file.txt8s将匹配的文本替换为指定内容。示例:sed's/RHEL/rhel9/g'file.txt9y将模式空间中的字符替换成指定的字符,比如y/source-chars/target-chars/,其中source-chars和target-chars的长度必须相同。示例:sed'y/RHEL/cent/'file.txt10r从指定文件中读取内容,并将内容插入指定行之后。示例:sed'/OpenEuler/rfile.txt'file1.txt11w将匹配的行写入指定文件。示例:sed-n'/RHEL/woutput.txt'file1.txt12q退出sed。示例:sed'3q'file.txtsed数据定位方法在sed中,可以使用数字和正则表达式来精确选择要操作的文本行,数字通常用于定位文件中的行号,正则表达式则可以用来匹配符合特定模式的文本。常用的sed数据定位方法如下表所示。序号数据定位方法描述1number直接根据行号匹配。示例:sed-n'3p'file.txt2first~step从第first行开始,每隔step行进行操作。示例:sed-n'3~2p'file.txt3$匹配最后一行。示例:sed-n'$p'file.txt4/regexp/匹配正则表达式regexp的行。示例:sed-n'/Open/p'file.txt、sed'/^Open/d'file.txt5addr1,addr2匹配从addr1行到addr2行范围内的行,addr1和addr2可以是数字、正则表达式或first~step语法。示例:sed-n'3,5p'file.txt,sed'/Ubuntu/,/Open/d'file1.txt6addr,+N匹配从addr开始,连续N行,addr可以是数字、正则表达式或first~step语法。示例:sed-n'3,+2p'file.txt,sed'/Ubuntu/,+3d'file02awk文本处理工具awk文本处理工具简介awk是一种功能强大的文本处理工具,由艾尔弗雷德·阿霍(AlfredAho)、彼得·温伯格(PeterWeinberger)和布赖恩·柯林尼汉(BrianKernighan)三位计算机科学家共同开发,名字来源于他们姓氏的首字母。它在类UNIX环境中被广泛应用,提供了正则表达式匹配、流程控制语句、数学运算符、内置变量和函数等功能,能够高效地完成模式匹配、数据操作、计算和生成报表等任务。awk基本语法由一系列由花括号标识的模式和动作组成,其中模式用于匹配输入数据,动作则用于处理匹配的数据。其基本语法如下:
awk'pattern{action}'file其中,file表示要处理的文件,如果省略输入文件,awk会从标准输入读取数据;pattern表示匹配文本的模式,可以是条件或规则,用于匹配输入数据的某种特征;当输入数据符合指定的模式时,执行对应的action表示的动作。可以有多个“模式-动作”组合,每个组合占据一行或多行。awk文本处理工具简介awk程序由一个或多个模式及与之关联的动作语句组成,多个模式语句由换行符分隔,并使用大括号进行界定。其基本结构为:pattern1{action1}pattern2{action2}...patternN{actionN}其中,pattern1表示第1个模式,action1表示与之关联的动作,pattern2和action2表示第二个模式及与之关联的动作,以此类推。程序会按照awk模式和动作的顺序逐行读取输入,对每一行依次检查模式,如果模式匹配成功,则执行与之关联的动作。模式可以是正则表达式、关系表达式、条件表达式等,动作可以是输出、变量赋值、流程控制、内置函数调用等操作。awk命令选项awk命令可以使用选项和模式来修改其行为和提供额外的功能。常见的awk命令选项或模式元素如表所示:序号选项或模式元素描述1-F用于指定字段分隔符,默认为空格。示例:awk-F':''{print$1}'/etc/passwd2-v用于设置变量的值。示例:awk-vname="John"'{print"Hello,"name"!"}'file.txt3-f用于指定awk脚本文件。示例:awk-fscript.awkfile.txt4''用于引用代码块。示例:awk'$1>3{print$1}'array-number.txt5//用于指定正则表达式。示例:awk'/[0-9]/{print$2}'file.txt6{}定义awk程序中的动作部分,可以包含一个或多个命令,也可以是一个复杂的代码块。示例:awk'{if($1>2){print$1;count++}}'array-number.txt7BEGIN在读取文本文件之前执行的模式,用于进行初始化操作或设置变量。BEGIN模式只执行一次,通常用于执行一些预处理任务,可以用于输出标题、设置计数器、加载配置等任务。示例:awk'BEGIN{print"Startoftheprogram"}
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2027届辽阳市辽阳县三上数学期末考试模拟试题含解析
- 2027届浙江省杭州市多县区三年级数学第一学期期末教学质量检测模拟试题含解析
- 2026年1月产房助产士理论考核测试卷及答案
- 三台县2027届四上数学期末调研模拟试题含解析
- 2027届邢台市临城县数学四上期末统考试题含解析
- DB32∕T 1649-2010 公路养护工程预算编制办法及定额
- 榆林市2026年高三下第一次测试生物试题含解析
- 2026中国手持式气体检测仪行业市场现状及行业分析研究报告
- 2026能源领域行业现状分析调研发展投资研究评估分析报告
- 2026瑞士钟表行业市场现状分析及高端投资规划优化研究分析报告
- 耕地保护三级责任书
- 院前急救诊疗常规和技术操作规范(2025 年版)
- 小儿孤独症谱系障碍诊疗指南(2025年版)
- 2026年GCP复习提分资料附完整答案详解(名校卷)
- 2026年水利机械运行维护工试卷【考点梳理】附答案详解
- 石油化工工程建设费用定额(2025版)
- 2026届山东省济宁市实验中学高三上学期开学考试数学试卷
- 推拿基本手法
- 认识有机化合物课件2025-2026学年高一下学期化学人教版必修第二册
- 2026年河北唐山市高三一模高考英语试卷试题(含答案详解)
- UL94阻燃标准应用与对照详解
评论
0/150
提交评论