Linux中look命令,如何在Linux上使用look命令 | MOS86

Linux look命令遍历文件并列出以特定单词或短语开头的所有行。 但是要当心! 在不同的Linux发行版上,它的行为有所不同。 本教程将向您展示如何使用它。

对于一个简单但有用的命令,当我研究本文时,看起来肯定给了我解决方法。 有两个问题:兼容性和文档。

本文是使用Ubuntu,Fedora和Manjaro进行检查的。look与这些发行版捆绑在一起,很棒。 问题在于这三个行为都不相同。 Ubuntu版本是非常不同的。 根据Ubuntu手册页,行为应相同。

我最终想通了。 look传统上使用二进制搜索,而Ubuntu look使用线性搜索。 针对Bionic Beaver(18.04),Cosmic Cuttlefish(18.10)和Disco Dingo(19.04)的在线Ubuntu手册页都说,Ubuntu版本使用二进制搜索,事实并非如此。

如果我们查看本地的Ubuntu手册页,就会清楚地看到它们的外观使用线性搜索。 有一个命令行选项可以强制它使用二进制搜索。 其他发行版中的两个版本均未提供在搜索方法之间进行选择的选项。

男人看

在手册页中向下滚动,我们看到使用线性搜索而不是二进制搜索描述此版本外观的部分。

这个故事的寓意是首先检查当地的手册页。

二进制搜索方法比线性搜索更快,更高效。 使用大文件使这一点很明显。 二进制搜索的缺点是您的文件必须排序。 如果您不想对文件进行排序,请对文件的副本进行排序,然后将其与look一起使用。

在本文的其他地方很好地演示这一点。 请注意,在Fedora,Manjaro上,我希望在Linux世界的大多数其他地方,您需要创建文件的排序副本并进行处理。

look可以与您选择的任何文本文件一起使用,也可以与本地词典文件中的单词一起使用。

在Manjaro上,您需要安装Word文件。 使用以下命令:

须藤pacman -Syu词

对于本文,请使用Edward Lear诗作The Jumblies的文本文件很好地工作。

让我们用以下命令查看其内容:

少了the-jumblies.txt

这是诗的第一部分。 请注意,它们使用的是Ubuntu,因此该文件保持未排序状态。 对于Fedora和Manjaro,wed处理文件的排序副本,本文稍后将对此进行详细介绍。

如果我们寻找以“他们”一词开头的行,那么就会发现Jumblies所做的一些事情。

看他们the-jumblies.txt

look通过列出以下行来响应:

要使外观忽略大写和小写之间的差异,请使用-f(忽略大小写)选项。 我们再次将它们用作搜索词,但这一次,将其小写。

看-f他们the-jumblies.txt

这次,结果包括额外的一行。

在最后一组结果中缺少以THEY开头的行,因为该行全部大写且与我们的搜索词“他们”不匹配。

忽略大小写允许外观将其包括在结果中。

如果您的Linux发行版的外观符合使用二进制搜索的传统行为,则必须对文件进行排序或使用文件的排序副本。

让我们重复命令搜索它们,但这一次是在Manjaro上。

如您所见,没有结果返回。 但是我们知道这首诗中有以“他们”一词开头的台词。

让我们对文件进行排序后的副本。 如果要在外观上使用-f(忽略大小写)或-d(仅字母数字字符和空格)选项,则在对文件进行排序时必须使用它们。

-o(输出)选项使您可以指定应将已排序行添加到的文件的名称。 在此示例中,其为sorted.txt。

-o(输出)选项使您可以指定应将已排序行添加到的文件的名称。 在此示例中,其为sorted.txt。

让我们使用sorted.txt文件,然后使用-f和-d选项。

现在,我们得到了预期的结果。

要使外观忽略不包含字母数字字符或空格的任何内容,请使用-d(字母数字)选项。

让我们看看是否有任何开头的单词,哦。

看-f哦the-jumblies.txt

外观未返回任何结果。

让我们再试一次,告诉外观忽略字母数字字符和空格以外的任何内容。 这意味着字符和符号(例如标点符号)将被忽略。

看-f -d哦the-jumblies.txt

这次,我们得到了结果。 我们之前找不到这行是因为引号和感叹号混淆了搜索。

您可以告诉外观使用特定字符作为终止字符。 通常,空格和行尾用作终止字符。

-t(终止字符)选项允许我们指定要使用的字符。 在此示例中,将使用撇号字符。 我们需要用反斜杠将其引用,以使您知道未打开字符串。

还引用了搜索词,因为它包含空格。 正在搜索两个词。

看起来-f -t“他们打电话” the-jumblies.txt

结果与搜索词匹配,并以我们用作终止符的撇号终止。

如果您未在命令行上提供文件名,则使用“文件”一词。

命令:

给出以下结果:

这些是文件中所有以单词circle开头的单词。

这就是所有要看的东西。

一旦您知道不同Linux发行版之间存在不同的行为,并且已经确定您的版本是使用二进制搜索还是线性搜索,便非常容易。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值