跳转到内容

Unix 快速入门/搜索文本文件

来自维基教科书,开放的书籍,开放的世界


搜索文件内容

[编辑 | 编辑源代码]

使用less进行简单搜索

[编辑 | 编辑源代码]

使用 less,您可以在文本文件中搜索关键字(模式)。例如,要搜索 science.txt 中的“science”一词,请键入

% less science.txt

这将把文件的第一个屏幕内容写入屏幕。在less中,您可以键入正斜杠 / 然后输入要搜索的词

/science

如您所见,less 找到了并突出了关键字。键入 n 搜索该词的下一个出现位置。

这很有用,但相对有限且不灵活。不难想象,在某些简单情况下,您可能希望快速检查文件内容(这是否是谈论左递归的论文?)。但我们通常希望做更多的事情。这就是非常著名的 Unix 实用程序grep 的用武之地。

grep 是众多标准 Unix 实用程序之一。它在文件中搜索指定的单词或模式。首先清除屏幕(在提示符处键入clear),然后键入

% grep science science.txt

如您所见,grep 打印出包含“science”一词的每一行,但它是区分大小写的。如果我们键入

% grep Science science.txt

我们会看到它区分了Sciencescience。要忽略大小写区分,请使用-i 选项,即键入

% grep -i science science.txt

要搜索短语或模式(即包含空格的字符序列),必须将其括在单引号中。例如,要搜索“current domain”,请键入

% grep -i 'current domain' science.txt

grep 的其他一些选项是

grep 选项 效果
-v 显示不匹配的行
-n 在每条匹配行之前加上行号
-c 仅打印匹配行的总数

尝试其中一些选项,看看不同的结果。不要忘记,您可以同时使用多个选项。例如,没有“science”或“Science”一词的行数为

% grep -ivc science science.txt

grep 是最强大的 Unix 实用程序之一。还有egrep 等扩展。深入了解 grep 的功能可以让你成为一名高效的 Unix 用户。然而,这只是一个快速入门,因此我们只介绍到这里。

wc (字数统计)

[编辑 | 编辑源代码]

一个方便的小工具是wc 命令,代表 word count(字数统计)。要对 science.txt 进行字数统计,请键入

% wc -w science.txt

要查找文件有多少行,请键入

% wc -l science.txt
华夏公益教科书