- 1、本文档共12页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
学习Linux-101文本流及过滤器
PAGE
PAGE 12
学习 Linux,101: 文本流和过滤器
使用 GNU 文本实用程序在命令行操作文本
级别: 中级
HYPERLINK /developerworks/cn/linux/l-lpic1-v3-103-2/index.html \l author#author Ian Shields, 高级程序员, IBM
2009 年 9 月 21 日
文本操作不仅仅是指复制和粘帖,在不使用 GUI 的情况下,这一点尤其明显。通过本文为 Linux Professional Institute Certification (LPIC) 101 考试做准备,或者仅仅是从中得到乐趣。在这篇文章中,Ian Shields 向您介绍了在 Linux? 上使用 GNU 文本实用程序(textutils)包中的过滤器进行文本操作。在阅读完本文后,您将能够像专家一样熟练地操作文本。
概述
本文提供了对过滤器(filter)的介绍,您将使用过滤器构建复杂的管道(pipeline)来操作文本。您将学习如何显示文本、执行排序、计算单词和行数、转换字符,以及其他任务。您还将了解到如何使用流编辑器 sed。
在本文中,您将了解以下主题:
通过文本实用过滤器发送文本文件和输出流,以修改输出
使用 GNU 文本实用程序包提供的标准 UNIX 命令
使用编辑器 sed 编写脚本,对文本文件做出复杂的修改
本文帮助您准备 Junior Level Administration (LPIC-1) 考试 101 中主题 103 下的目标 103.2。该目标的权值为 3。本文的内容与 2009 年 4 月的 HYPERLINK /eng/certification/the_lpic_program/lpic_1/exam_101_detailed_objectives 考试 101 目标 相对应。您应当始终参考这些目标,获得明确的考试要求。
文本过滤
文本过滤指的是这样一个过程:获得文本的输入流,并在将文本发送给输出流之前对文本执行一些转换。尽管输入或输出都可以来自某个文件,但是在 Linux 和 UNIX? 环境中,实现过滤的最常见方法是构建一个命令管道,其中来自一个命令的输出被传输 或重定向 以用作下一个命令的输入。关于管道和重定向的内容,我们将在有关流、管道和重定向 的文章中更详细地介绍(可以在 HYPERLINK /developerworks/cn/linux/l-lpic1-v3-map/ 学习 Linux,101:LPIC-1 路线图 中找到),不过现在先让我们看看使用 | 和 操作实现管道和基本的输出重定向。
流
流 只不过是一个可以使用库功能读取或写入的字节序列,库功能向应用程序隐藏了底层设备的细节。通过使用流,相同的程序可以使用独立于设备的方式从终端、文件或网络 socket 中读取,或向其中写入。现代编程环境和 shell 使用三种标准的 I/O 流:
stdin 是标准输入流,为命令提供输入。
stdout 是标准输出流,显示来自命令的输出。
stderr 是标准错误流,显示命令中的错误输出。
使用 | 实现管道
输入可以来自您为命令提供的参数,输出可以显示到您的终端上。许多文本处理命令(过滤器)可以从标准输入流或从文件中获取输入。要将命令 command1 的输出作为过滤器 command2 的输入,您需要使用管道操作符 (|) 连接两个命令。清单 1 展示了如何传输 echo 的输出,以对一个小的单词列表进行分类。
清单 1. 将 echo 的输出传输到 sort 的输入
[ian@echidna ~]$ echo -e apple\npear\nbanana|sort
apple
banana
pear
任何命令都包含选项或属性。您还可以使用 | 将管道中第二个命令的输出重定向到第三个命令,依此类推。在 Linux 和 UNIX 中,一种常见的执行任务的方式就是构建一个长的命令管道,每个命令只具备有限的功能。您有时会看到使用一个连字符 (-) 来代替文件名作为命令的参数,这意味着输入应当来自 stdin 而不是文件。
使用 重定向输出
创建由若干命令组成的管道并在终端观察输出固然不错,然而有些情况下您需要将输出保存到文件中。可以通过输出重定向操作符 () 实现这一点。
在本节后面的内容中,我们将使用一些小型文件,因此让我们创建一个名为 lpi103-2 的目录并通过 cd 进入到该目录。随后使用 将 echo 命令的输出重定向到名为 text1 的文件。清单 2 展示了整个过程。注意,输出并没有显示在终端上,因为它被重定向到了文件中。
您可能关注的文档
最近下载
- 《全面质量管理(习题集)》考试题库(含答案).pdf VIP
- 第6课《传播文明》课件++2024—2025学年苏少版(2024)初中美术七年级上册.pptx VIP
- 浙江工业大学研究生矩阵原理期末试题及答案.docx VIP
- Roland罗兰乐器SPD-SX 采样打击板SPD-SX 说明书用户手册.pdf
- 地基与基础分部验收工程总结.doc
- 数字化智能工厂建设方案及规划蓝图建设方案.doc VIP
- 刘伟教你打乒乓(北大)中国大学MOOC慕课 章节测验答案.docx
- 探究乡土植物在园林绿化建设中的应用及存在的问题.doc VIP
- 湖南省湘西州永顺县2023-2024学年四年级上学期期中英语试卷.doc VIP
- 2024年中级经济师《经济基础知识》教材变化对比.pdf
文档评论(0)