Questions tagged «grep»

grep是一个命令行实用程序,用于搜索文本。





5
Grep,忽略警告
我正在尝试查找特定软件包的安装目录。我有一个特定的关键字,试图在其中查找特定文件。 在grep期间,我只想包含cpp或h文件类型。我不希望grep显示诸如“ 权限被拒绝”或“ 找不到目录”之类的警告。我只希望它显示匹配的文件,仅此而已。请提出我该怎么做? 目前我正在使用 grep "My term" -ir --exclude-dir="\.svn" --include=*.{cpp,h} ./
50 search  grep 

7
Grep在一行中搜索两个单词
我一直在尝试寻找一种方法来过滤其中包含单词“ lemon”和“ rice”的行。我知道如何找到“柠檬”或“大米”,但找不到两者。它们不需要紧挨着另一行,只需一行相同的文本即可。

2
grep中的[t] ricky方括号表达式如何工作?
我最近看到了这种单线: $ ps -ef | grep [f]irefox thorsen 16730 1 1 Jun19 ? 00:27:27 /usr/lib/firefox/firefox ... 因此,似乎返回了数据中带有“ firefox”的进程列表,但忽略了grep进程本身,因此,它大致等同于: ps -ef |grep -v grep| grep firefox 我不明白它是如何工作的。我看过grep和其他地方的手册页,但没有找到解释。 而且,如果我跑步,那么这个奥秘就更加复杂了: $ ps -ef | grep firefox > data $ grep [f]irefox data thorsen 15820 28618 0 07:28 pts/1 00:00:00 grep --color=auto firefox thorsen …

3
将grep的输出保存到带有颜色的文件中
我需要将grep命令的结果保存到文件中,但我也希望对输出文件进行格式化,并像在终端中一样保留颜色。 有没有办法做到这一点?也许使grep保存为某种标记语言?如果不可能,是否有其他工具可以完成此任务? 我试图使搜索关键字在输出文件中脱颖而出,就像在终端中一样。

5
如何在目录中非递归地对所有文件使用grep?
我想在目录中的所有文件中搜索文本字符串(而不是其子目录;我知道该-r选项可以这样做,但这不是我想要的)。 跑步 grep "string" /path/to/dir 我已经阅读了,应该能够做到这一点,但它给了我错误: grep:dir:是目录 接下来,我尝试grep在多个文件上运行。 grep "string" .bashrc .bash_aliases 完美地工作。 grep "string" .bash* 也按预期工作。 grep "string" * 给我错误: grep: data: Is a directory grep: Desktop: Is a directory grep: Documents: Is a directory grep: Downloads: Is a directory ... 只打印错误,我没有找到匹配的行。我尝试使用该-s选项,但无济于事。 所以,我的问题是: 为什么grep我应该可以在(1)中无法在目录上使用?我已经在互联网上看到很多例子。 编辑:当我说“在目录上使用grep”时,我的意思是“搜索该目录中除其子目录外的所有文件”。我相信这是grep在您将目录传递给文件而不是文件时所做的。我不正确吗? 请给我一个解释,它的工作原理grep将解释(2)中命令的行为。 编辑:让我更具体。为什么使用通配符指定要搜索的多个文件.bash*,而不使用*甚至搜索./*? 如何使用来搜索目录(而不是其子目录)中的所有文件grep?
34 grep 


1
如何查看用grep过滤的输出?
我想看输出的变化 gsettings list-recursively|grep text-scal 这是 org.gnome.desktop.interface text-scaling-factor 1.0 com.canonical.Unity.Interface text-scale-factor 1.0 但是如果我尝试与 watch gsettings list-recursively|grep text-scal 我没有输出,因为管道似乎是问题所在。 我如何仍可以观看更改?

3
如何grep 2或3行,其中一行包含我想要的文本,而另一行仅位于文本下方?
这是错误日志的快照: 06:16:29,933 ERROR EmailRMManager$:45 - Exception In get Message com.rabbitmq.client.AlreadyClosedException: clean connection shutdown; reason: Attempt to use closed channel at com.rabbitmq.client.impl.AMQChannel.ensureIsOpen(AMQChannel.java:195) at com.rabbitmq.client.impl.AMQChannel.rpc(AMQChannel.java:222) at com.rabbitmq.client.impl.AMQChannel.rpc(AMQChannel.java:208) at com.rabbitmq.client.impl.AMQChannel.exnWrappingRpc(AMQChannel.java:139) at com.rabbitmq.client.impl.ChannelN.basicGet(ChannelN.java:645) 我执行以下命令: cat foo.log | grep ERROR 得到一个OP: 06:16:29,933 ERROR EmailRMManager$:45 - Exception In get Message 我应该执行什么命令来获得输出 06:16:29,933 ERROR EmailRMManager$:45 - Exception …

5
grep —列出找到匹配项的文件名
我的目录中有一堆.html文件。我想浏览每个文件并匹配一个模式(MD5)。所有这些都很容易。问题是我需要知道在哪个文件中找到匹配项。 cat *.html | grep 75447A831E943724DD2DE9959E72EE31 仅返回找到匹配项的HTML页面内容,但不告诉我找到该文件的文件。如何获取grep来显示找到匹配项的文件名?

6
用于查看日志(tail和grep)的GUI
您能否推荐具有强大日志监视功能的GUI应用程序? 通常,它可以像tail -f在GUI中一样工作,但除此之外,以下功能将非常有用: 根据(正则)表达式过滤掉一些行 根据(正则)表达式为某些行着色 互动搜寻 可保存的配置,轻松适用于不同的文件 基于(正则)表达式的通知 Windows上类似的工具是BareTail及其付费版本-BareTailPro

2
grep“ +”运算符不起作用
这个 ls -l /var/log | awk '{print $9}' | grep "^[a-z]*\.log." 输出此: alternatives.log.1 alternatives.log.10.gz alternatives.log.2.gz alternatives.log.3.gz alternatives.log.4.gz alternatives.log.5.gz alternatives.log.6.gz alternatives.log.7.gz alternatives.log.8.gz alternatives.log.9.gz apport.log.1 apport.log.2.gz apport.log.3.gz 但是这个: ls -l /var/log | awk '{print $9}' | grep "^[a-z]+\.log." 什么都不输出。 为什么?我只是更改*为+。相似吗?运算符+仅需要至少一个匹配,并且*零个或多个。
31 grep 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.