为什么▲说每个 Linux 极客都需要了◤解 Sed 和 Awk|linux培训|cisco培训|网络工程师培训|金源万博|北京金源万博|高级网络工㊣ 程师培训|计算机学校

内容标题8

  • <tr id='7ZWJwE'><strong id='7ZWJwE'></strong><small id='7ZWJwE'></small><button id='7ZWJwE'></button><li id='7ZWJwE'><noscript id='7ZWJwE'><big id='7ZWJwE'></big><dt id='7ZWJwE'></dt></noscript></li></tr><ol id='7ZWJwE'><option id='7ZWJwE'><table id='7ZWJwE'><blockquote id='7ZWJwE'><tbody id='7ZWJwE'></tbody></blockquote></table></option></ol><u id='7ZWJwE'></u><kbd id='7ZWJwE'><kbd id='7ZWJwE'></kbd></kbd>

    <code id='7ZWJwE'><strong id='7ZWJwE'></strong></code>

    <fieldset id='7ZWJwE'></fieldset>
          <span id='7ZWJwE'></span>

              <ins id='7ZWJwE'></ins>
              <acronym id='7ZWJwE'><em id='7ZWJwE'></em><td id='7ZWJwE'><div id='7ZWJwE'></div></td></acronym><address id='7ZWJwE'><big id='7ZWJwE'><big id='7ZWJwE'></big><legend id='7ZWJwE'></legend></big></address>

              <i id='7ZWJwE'><div id='7ZWJwE'><ins id='7ZWJwE'></ins></div></i>
              <i id='7ZWJwE'></i>
            1. <dl id='7ZWJwE'></dl>
              1. <blockquote id='7ZWJwE'><q id='7ZWJwE'><noscript id='7ZWJwE'></noscript><dt id='7ZWJwE'></dt></q></blockquote><noframes id='7ZWJwE'><i id='7ZWJwE'></i>

                您所在的位置:首页>新闻动态>新闻内容

                为什么说等人繼續跟著神諭令前進每个 Linux 极客⊙都需要了解 Sed 和 Awk

                sed 和 awk 是每个 Linux 高级用户最喜欢的工具。但它们是什么?以及如▲何使用它们来处理文本文件?

                两个∏最被低估的 Linux 实∑ 用程序是 sed 和 awk。尽管它们看起来有点神秘,但如果您必须对大段代码或文本进行重复更改,或者如果您必须分析某些我可以答應帶你去文本,sed 和 awk 是极为有而后才沉聲道用的。
                那么,它们是什么?它们是如何使用的?以及,当它们组合在一『起时,它们▽如何使处理文本变得更容易?
                什么是sed?
                sed 由传奇的计算★先驱 Lee E. McMahon 于 1971 年在贝尔实验室开发。
                该名称代表ldquo;流编辑器”。sed 允许您↙通过一种紧凑而简单但图灵完备的编程语言以编程方式△编辑正文或文本流。 sed 的工作方式很简单:它将文本逐行读取到缓冲区中。对于每一行,它将在适用的情况稱號是怎么回事下执行预定义的指令。
                例如,如果∮有人要编写一个 sed 脚本,将单词ldquo;beerrdquo;替换为ldquo;soda”,然后传入一个包含“99 Bottles of Beer on the Wall”完整歌词的文本▓文件,它将通过逐行打印∑该文件,并打印出“99 Bottles of Soda on the Wall”,依此类推。
                最基本的 sed 脚本是“Hello World”。在这里,我们使用仅输出字〖符串的 echo 命令来打印“Hello World”。但是我们将它传递给 sed,并告诉它用“LinuxMi.com”替换“World”。一目了然。 如果您需要进行一些更复杂的编辑,您还腦海里了可以将 sed 指令组合到文件中。让我们将 A-ha 的“ Take On Me ”的歌词替换为Greg的“I”、“Me”和“My”的∮每个实例。
                首先,将歌曲的ζ 歌词放入名为linuxmi.com.txt的文本文件中。然〓后打开文本编辑器,并添加以下行。确保您创建的文◣件以.sed结尾。
                您可能会注意到【上面示例中的重复(例如 s/me/Greg/ 和 s/Me/Greg/)。这是因为 sed 的某些版本,例如 macOS 附带的版本,不支持不区分大小写的匹配。因此,我们必遠古神域须为每个单词编写两条指令,以便 sed 识别動手之間大写和非大写版本。 这不会完美地◥工作,就好像您已经手动替换了“I”、“Me”和“My”的每∮个实例。请记住,我们只是将其↓用作练习来演示如何将 sed 指令组合∴到一个脚本中,然后使用单个命令执行它们。
                然后,我们需要调用该文件。为此,请运行此命令。
                让我们看看这是怎么只需要三個王者就夠了做的。你可能已经注意到我们这里没有使用 echo。我们使用 cat。这是因为 cat 会打印文件的全部内容,而 echo 只会打印文件名。您可能还注意到◥,我们使用“-f”标志运行 sed。这々告诉它将脚本作为文件打开【【。
                还值得注意的是 sed 支持正则表↑达式 (REGEX)。这些允许您使用特殊而复杂的语法在文本∞中定义模式。
                这√是一个如何工作的示例。我们将采用上述歌词,但使用正则表达式打印出每行不以“Take”开头的行。
                当然,sed 非常有用。而且与 awk 结合使用时会更加强大。
                什么是 AWK?
                AWK 与 sed 一样,是一种处理大量文本ぷ的编程语言。但是,虽然人刑天直接身體爆退了出去们使用 sed 来处理∩和修改文本,但人们大多使用 AWK 作为分析和报告╳的工具。
                与 sed 一样,AWK 最初是在 1970 年代在贝尔实验室※开发的。它的名字并非来自程序所做的事情,而是来自每♂个作者的姓氏:Alfred Aho、Peter Weinberger 和 Brian Kernighan。总而言之,AWK 指的是编程语言本身。在小写中,awk 指的是命令行工具。
                AWK 通过一次读取一陣恐怖一行文本文件或输入流来工作。扫描每一行以查看它是否与预定义的模式匹配。如果找到匹配项,则执行』操作。
                但是虽然 sed 和 AWK 可能有相似▆的目的,但它们是∏两种完全不同的语言,具有两种完全不同的设计理念。AWK 更类似于一些通用语言,如 C、Python 和 Bash。它具有诸如函数之类的东西以及※更类似于 C 的方法来处理诸如迭代■和变量之类的东西。简而言之,AWK 感觉更像是一种编程语言。
                所以,让我们尝试一下。使用“Take On Me”的歌词,我们将@ 打印所有超过 20 个字符的行。
                结合两者awk 和 sed 结合百分之九十九起来都非常强大。您可以通过使用 Unix 管道来做到这一点。
                让我们∏试试这个:我们①将使用 awk 列出“Take On Me”中超过 20 个字符的所有行。然后,我们将删除所有以“Take”开头的行。
                sed 和 awk 的力量
                在这篇文章中我们就解释这么多,但希望您现在对 sed 和 awk 的强大功能有所這弱水了解。简而言之,它们是一个文本处理引擎。
                那么,你为什么要关心呢?除了您永远不知道何时需要对文本文档进行可预测的重复更改这一▽事实之外,sed 和 awk 非常适ω 合解析日志文件。当您尝试∑调试 LAMP 服务器中的问题或查看访问日志以查看您的服务器是否被黑客入侵时,这特∑ 别方便。

                上一篇:为 Linux 新手推荐 Ubuntu 发行版的 8 个原因...
                下一篇:2021年7月安徽电信Ceph课程培训圆满你就不结束!...

                金源ㄨ在线客服

                QQ在线咨询

                咨询电话
                010-83650488

                在线咨询

                在线咨询

                电话咨询