其实没有任何GUI工具
图片来自沃尔黑文
在您的浏览器上,要在网页上查找特定字符串,您只须要晓得“CTRL+F”技巧。
但作为前端或DevOps工程师,您必须只在Linux终端上处理个别事情,而不是在GUI工具上。生活是不公正的,不是吗?
不过不用害怕linux检索文件内容,假如你真的把握了Linux技能,你会同意我的观点,即使用命令比任何GUI工具都更有效率。另一个用处是它可以让你显得很酷(想像一个仍然使用终端的魔幻影片中的黑客)。
本文将介绍在Linux终端上查找文件中字符串的5种方便有效的方式。
基本上linux检索文件内容,当您须要在文本文件中查找字符串时,有两种可能的情况:
您还没有打开文件。
你早已打开了文件。
对于第一种情况,我们可以使用Linux上知名的三种文本处理装备:grep、sed和awk.
对于第二种情况linux命令chm,我们可以借助lessor的力量vi。
在深入细节之前,让我们使用我的散文“TheZenofWritingonMedium”的草稿版本,这是一个名为的文件zen_of_medium.txt,作为5种形式的示例文件。
文件内容1.使用grep命令
该grep命令是一个直观且便于使用的字符串搜索工具。其基本结构为grepstringfile_name.
比如,假如我们想在zen_of_medium.txt文件中查找词组“better”的位置。命令和结果如下:
里面的grep命令复印所有包含词组“better”的行。
然而,假若它真的是一个长文本文件,通过上述方式找到结果的准确位置一直很难。辛运的是,有一个-n选项grep可以复印每行结果的行号:
2.使用sed命令
该sed命令是另一个强悍的文本处理工具。对于我们的任务,我们可以按如下形式使用它:
其实,该sed命令还可以做进一步的事情,例如找到字符串后删掉或替换。这种超出了本文的范围。
3.使用awk脚本
Linux中有一个命令功能强悍到不能称为命令——awk。它实际上是一种用于Linux中文本处理的脚本语言。
—Yang(《Linux中使用awk的8个层次》)
按照前面的说法,您可以想像该awk语言也可以用于查找字符串。
如今,我们将遵守以下句型awk:
在我们的事例中,模式就是“更好”这个词,其作用是复印出每位匹配行的行号和内容。
如上所示,该命令为我们提供了与and命令awk完全相同的结果。grepsed
4.用less复查文件
假如早已使用该less命令在终端上显示了文件的内容,我们可以使用less.
要使用搜索字符less,请键入/后跟我们要搜索的字符串linux find,之后按“Enter”。
假如匹配的词组好多,我们可以按n查找下一个匹配项或N查找上一个匹配项。
5.用vi检测和编辑文件
有时,我们须要在文件中找到字符后对其进行编辑。在这些情况下,vi编辑器是一个不错的选择。
让我们的生活更轻松的是vi查找字符串的句型与less.
本文使用文章同步助手同步