【问题标题】:grep command on linux ( especially grep --exclude)linux 上的 grep 命令(尤其是 grep --exclude)
【发布时间】:2013-08-23 10:28:12
【问题描述】:

我是 linux 问题的新手,在这里问之前我用谷歌搜索了它,但是我找不到关于 grep --exclude 的线索。所以我想知道下面的行是什么?提前致谢

grep --exclude=\*.svn\* -r REVISION 1.0.0.8/*1.0.0.8.config > 1.0.0.8-REVISION.txt

我自己解决了

在排除 .svn 文件的“1.0.0.8/*1.0.0.8.config”文件上搜索 REVISION 并将输出发送到 1.0.0.8-Revision.txt

【问题讨论】:

  • 你是在问下面这行是做什么的吗?不确定您的问题到底是什么。
  • @MalcolmJones 是的,你是对的。对不起语言。

标签: linux grep command


【解决方案1】:

要在排除各种文件类型(在您的示例中以 .svn 为前缀的任何内容)的同时通过目录进行 grep,您可能需要执行以下操作:

grep -r "SOMETHING" --exclude="*.svn*" /path/to/directory >  1.0.0.8-REVISION.txt 2>&1

这将递归地遍历目录中的所有文件,然后将匹配项发布到名为 1.0.0.8-REVISION.txt 的文件中,该文件位于相对于您当前搜索的位置。

如果您提供的更多信息恰好与您要 grep/find 的内容有关,我可以用完全适合您的情况的内容更新我的答案。

【讨论】:

  • 所以在我的情况下,grep 会查看 REVISION "1.0.0.8/*1.0.0.8.config" 但为了什么?我对吗 ?? @马尔科姆-琼斯
【解决方案2】:

您可以在手册页 here 上找到 grep

排除的作用:

--exclude=PATTERN:

  • 目录中的递归跳过匹配 PATTERN 的文件。

您的命令将在所有目录中递归搜索,跳过文件模式“*.svn*”并搜索文件模式“1.0.0.8/*1.0.0.8.config > 1.0.0.8-REVISION.txt”

【讨论】:

  • 如果我错了,请纠正。在我的情况下,grep 将查看 .svn 目录中的所有目录,但是为了什么??
  • @Eday 我已经编辑了答案,但我还没有运行它来测试它。所以你应该做一些 grep 命令来掌握它。如果我写的东西有问题,请告诉我,所以我会修复答案
  • -r 后面的 REVISION 是什么意思?
  • @Eday 在名为 REVISION 的文件夹中递归搜索
  • 我没有这样的文件夹
猜你喜欢
  • 2013-11-21
  • 1970-01-01
  • 1970-01-01
  • 2013-05-18
  • 1970-01-01
  • 1970-01-01
  • 2021-03-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多