论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
应用中心
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
qidao123.com技术社区-IT企服评测·应用市场
»
论坛
›
人工智能
›
人工智能
›
[AIGC] awk 和 sed
[AIGC] awk 和 sed
海哥
论坛元老
|
2024-7-15 15:48:11
|
显示全部楼层
|
阅读模式
楼主
主题
1719
|
帖子
1719
|
积分
5157
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
在Unix体系中,有两种强盛的用于文本操作的命令工具,它们就是awk和sed。这两个命令工具是每个Linux用户必备的知识之一,尤其对于必要举行文本处理或数据抽取的开辟者来说,更加重要。
在现实开辟过程中,我们常常必要处理各种数据、日记、配置文件,而这些工作,awk和sed就能够起到事半功倍的结果。
Awk 和 Sed 简介
Awk 是一种编程语言,用于在linux/unix下对文本和数据举行处理。数据可以来自标准输入(stdin)、一个或多个文件,或者别的命令的输出。它支持用户自定义函数和动态正则表达式等强盛功能。
Sed(stream editor)是一种流编辑器,它是文本处理中非常中的工具,能够完善的配合正则表达式利用,功能不同凡响。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,如许不断重复,直到文件全部的行处理完毕。因此,sed和管道(|)配合可以将数据举行加工,而和重定向配合可以把加工后的数据放到文件里。Sed可以处理磁盘文件里的数据,但它是把数据先读到内存中处理后,再屏幕上显示出来,而处理过程中,数据仍在磁盘文件里,而原来的文件内容并没有改变。
深入分析和掌握awk和sed
接下来我会写一篇详细的教程来深入学习和掌握awk和sed这两个强盛的文本处理工具,会针对初学者利用一些简单清楚的例子来讲解它们。看完我相信你对Awk和Sed会有一个全面深入的相识。
awk初探
Awk是一种编程语言,用于在unix/linux下对文本和数据举行处理。根据这篇文章,我们可以看到以下一些Awk命令的根本示例:
awk的根本语法
一样平常地,awk命令的格式如下:
awk 'pattern {action}' file(s)
复制代码
这里,awk从
file(s)中读取行,如果pattern
匹配,则执行
action
。
awk的工作原理
当awk命令运行时,它将会举行以下步骤:
从一或多个文件(或stdin)中读取记录(默认情况下,一个记录就是一行)。
对每一条记录,从头至尾测试是否匹配每个模式。如果记录符合某个模式,则执行该模式所关联的动作。
继承处理输入文件,直到全部读取完毕。
比方,以下命令对于文件(file.txt)中每一行,如果该行匹配到模式(“3”),则打印出该行:
awk '/3/ {print $0}' file.txt
复制代码
awk中的变量
Awk提供了很多内建变量来资助我们举行操作,详细可以参阅这篇文章。比方,以下命令可以打印出文件(file.txt)的总行数:
awk 'END {print NR}' file.txt
复制代码
其实固然,还有很多关于Awk的其他强盛功能,像是数组和内置函数等等,但这就不在这篇指南的讨论范围之内了。更深入的学习,我推荐你去阅读这本书。
当探索和利用sed(流编辑器)时,以下是一些您必要相识的根本概念和语法。
sed 初探
sed根本语法:
sed <options> '<command>' <file>
复制代码
其中,options是可选的,用于指定sed的一些选项;command是sed命令,用于指定要执行的操作;file是要处理的文件。
sed工作原理:
sed按行渐渐读取输入文件,对每一行应用指定的命令,并输出结果。默认情况下,sed将原始文件内容直接写回到标准输出,也可以通过重定向将输出保存到文件中。
sed 地址和地址范围
在sed命令中,可以利用地址或地址范围来定位要操作的行。地址可以是行号、正则表达式、以及特殊的模式空间标记(如$表示末了一行)。
sed 命令
sed提供了多个命令,用于执行各种操作,如查找更换、删除行、添加行等。常用的sed命令包罗:
s/pattern/replacement/:在每一行中查找匹配指定模式的内容,并更换为指定的内容。
d:删除匹配指定条件的行。
a:在指定条件的行后插入新行。
i:在指定条件的行前插入新行。
p:打印指定条件的行。
n:读取下一行,并从该行开始执行后续命令。
sed 应用实例
以下是一些sed的应用实例:
更换文件中的文本:
sed 's/old_text/new_text/' file.txt
复制代码
删除文件中的空行:
sed '/^$/d' file.txt
复制代码
在指定行前插入新行:
sed '3i new_line' file.txt
复制代码
打印文件的特定行:
sed -n '5p' file.txt
复制代码
这些只是sed的一些根本概念、语法和命令示例。sed具有非常强盛的功能和灵活性,您可以根据现实需求利用更多的sed命令和选项举行文本处理和编辑操作。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
海哥
论坛元老
这个人很懒什么都没写!
楼主热帖
makefile简单脚本编写和Linux调试器gdb ...
【第90题】JAVA高级技术-网络编程9(简 ...
CMOS图像传感器——黑电平校正 ...
什么是精准卫星授时?什么是NTP网络时 ...
windows提权-系统错误配置提权 ...
TCP 时间戳妙用
C++ 深度解析教程(十七)C 语言异常处 ...
Linux【实操篇】—— 日志管理 ...
如何使用 FlowUs 、Notion 等笔记软件 ...
姚凯大学生创业导论课后答案2022 ...
标签云
渠道
国产数据库
集成商
AI
运维
CIO
存储
服务器
浏览过的版块
云原生
运维.售后
Nosql
移动端开发
快速回复
返回顶部
返回列表