如何记住 grep 和 find 哪个命令带参数?

如何记住 grep 和 find 哪个命令带参数?

每一个当我使用grep并且find我正在绊倒时,我应该输入命令的顺序:何时应该编写路径,何时应该编写标志,是否需要双引号,等等。

我在谷歌上搜索过它的次数比我引以为傲的次数还要多。

为了grep

# Searching all files in the directory (recursively)
grep -rni "string" *

# Disecting it
command  flags  parameter  path
-------------------------------
grep     -rni   "string"   *

为了find

# Searching for a file by name
find . -type f -name "file-name*"

# Disecting it
command  path  flag   parameter   flag   parameter
-------------------------------------------
find     .     -type  f           -name  "file-name*"

有没有一种好的方法可以记住路径何时出现以及标志何时出现等(而不是每次都简单地谷歌搜索)?


解决方案尝试 1:手册页

我喜欢这些手册页,但也许我使用它们的方式不正确。它们很详细(这很好),但如果我想获得一个快速示例,了解如何使用给定的命令,那么我会在手册页上遇到困难。

如果我写man find,我可以在顶部附近看到这一点:

SYNOPSIS
       find [-H] [-L] [-P] [-D debugopts] [-Olevel] [starting-point...] [expression]

解决方案尝试 2:保存我经常使用的片段示例

我还可以简单地保存我经常使用的片段,这样我就可以快速加载一个工作示例。

但其他人在这里做什么呢?这对其他人来说直观吗?

答案1

grep 并发现我正在绊倒,我应该按哪个顺序输入命令:何时应该编写路径,何时应该编写标志,是否需要双引号,等等。

命令的一般规则是:首先是选项,然后是仅出现一次的“固定”参数,然后是可以出现多次的“可变”参数,例如文件名。

grep模式并可以搜索许多文件。所以它是“选项、模式、文件”。这里没有什么惊喜。

find有点奇怪。唯一的“真实”参数是描述从哪里开始递归搜索的路径。接下来是一种迷你语言,描述通过不同选项要匹配的内容,这些选项可以通过并置(或更多选项)进行组合,然后是其他选项描述的操作。所以它是“目录、匹配选项、操作选项”。

记住这一点,您不需要查找它。至少我就是这样记住它们的(而且我仍然偶尔会man find阅读一些我忘记的匹配选项)。

相关内容