Questions tagged «grep»

grep是最初为Unix编写的命令行文本搜索实用程序。它使用正则表达式来匹配文本,并且通常用作管道中的过滤器。仅当您的问题与使用grep或基于grep的API进行编程有关时,才使用此标签。与grep命令行选项本身的使用或故障排除有关的问题是题外话。

12
最快的grep
已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 我想知道是否有任何提示可以使您grep尽快完成。我有大量的文本文件,可以以最快的方式进行搜索。我把它们都改成小写,这样我就可以摆脱-i选择了。这样可以使搜索更快。 另外,我发现-Fand-P模式比默认模式更快。如果搜索字符串不是正则表达式(仅是纯文本),则使用前者;如果涉及到正则表达式,则使用后者。 有没有人有加速的经验grep?也许使用某些特定标志从头开始编译它(我在Linux CentOS上),以某种方式组织文件,或者以某种方式使搜索并行化?
80 bash  unix  grep 


6
如何使用“查找”命令显示修改的日期时间?
使用find命令,我可以显示具有多个级别的目录名称。以下命令显示/var路径下深度为2的所有目录: find /var -maxdepth 2 -type d; 结果显示: /var /var/log /var/log/sssd /var/log/samba /var/log/audit /var/log/ConsoleKit /var/log/gdm /var/log/sa 使用stat命令,我可以找到修改后的日期时间: stat /var/log/samba | grep 'Modify:' 结果是: Modify: 2014-01-02 11:21:27.762346214 -0800 有没有一种方法可以结合使用这两个命令,以便使用修改的日期时间列出目录?

7
模式后如何grep获取内容?
给定一个文件,例如: potato: 1234 apple: 5678 potato: 5432 grape: 4567 banana: 5432 sushi: 56789 我想grep开头的所有行,potato:但只管道后面的数字potato:。因此,在上面的示例中,输出为: 1234 5432 我怎样才能做到这一点?
79 linux  grep 

7
Grep和Python
我需要一种通过Unix命令行中的正则表达式使用grep搜索文件的方法。例如,当我在命令行中键入时: python pythonfile.py 'RE' 'file-to-be-searched' 我需要'RE'在文件中搜索正则表达式并打印出匹配的行。 这是我的代码: import re import sys search_term = sys.argv[1] f = sys.argv[2] for line in open(f, 'r'): if re.search(search_term, line): print line, if line == None: print 'no matches found' 但是当我输入一个不存在的单词时,no matches found不会打印
78 python  regex  grep 

2
如何在文件中使用grep区分大小写的字符串?
我有一个file1以Success...OR 结尾 的文件success... 我想以一种不区分大小写的方式来grep表示这个词success。 我已经写了以下命令,但是区分大小写 cat file1 | grep "success\.\.\." 我该如何,它改变它,以便returns 0与两个Success...或 success...
78 bash  shell  awk  sed  grep 


4
grep --ignore-case --only
同时使用--ignore-case和--only-match选项时,grep失败。例: $ echo "abc" | grep -io abc abc $ echo "ABC" | grep -io abc $ 但 $ echo "abc" | grep -i abc abc $ echo "ABC" | grep -i abc ABC 根据手册页: -o, --only-matching Show only the part of a matching line that matches PATTERN. -i, --ignore-case …
74 regex  bash  unix  grep  gnu 

5
如何使用grep在`name =`之后获取任何内容?
我一直在尝试grep之后的任何内容,仅name=包含空格和字母数字。 例如: name=some value here 我懂了 some value here 我对此完全陌生,以下grep匹配包括在内的所有内容name=。 grep 'name=.*' filename 任何帮助深表感谢。
74 regex  bash  grep 

6
防止grep在输入不匹配时返回错误
我想在bash脚本中编写一段代码,检查程序是否已在运行。我有以下内容以便搜索栏是否正在运行 foo=`ps -ef | grep bar | grep -v grep` 的 grep -v grep 部分是确保在ps结果中不考虑“ grep bar” 如果bar没有运行,则foo正确为空。但是我的问题在于该脚本具有 set -e 如果某个命令返回错误,则该标志是终止脚本的标志。事实证明,当bar不运行时,“ grep -v grep”与任何内容都不匹配,并且grep返回错误。我尝试使用-q或-s但无济于事。 有什么解决办法吗?谢谢
73 bash  grep 

5
为文件而不是目录更改chmod
我需要使用chmod将所有文件递归更改为664。我想跳过这些文件夹。我当时想做这样的事情 ls -lR | grep ^-r | chmod 664 我认为这是行不通的,因为我无法通过管道插入chmod有人知道这样做的简单方法吗? 谢谢
72 unix  grep  chmod 

8
在容器的Docker日志中查找字符串
在Docker容器的日志中找到特定字符串的最佳方法是什么?假设我想查看所有在“ nginx”泊坞窗映像中发出的请求,这些请求来自以“ 127”开头的IP。 grep无法在docker logs命令上按预期工作: docker logs nginx | grep "127." 它打印所有日志,但不过滤结果!
72 docker  grep 

8
使用grep和sed查找和替换字符串
我正在使用以下内容以递归方式在目录中搜索特定的字符串,并将其替换为另一个: grep -rl oldstr path | xargs sed -i 's/oldstr/newstr/g' 这样可以。唯一的问题是,如果字符串不存在,则sed失败,因为它没有任何参数。这对我来说是个问题,因为我正在使用ANT自动运行此操作,并且由于sed失败而导致构建失败。 如果找不到该字符串,有没有办法使它失效? 我对我可以使用的单行简单解决方案感兴趣(不一定与grep或sed与此类通用unix命令一起使用)。
69 linux  shell  unix  sed  grep 

2
如何在SVN信息库中以递归方式查看svn:ignore设置的所有忽略模式?
我看到可以使用proplist以及-R标志(递归)和-v标志(详细)来查看SVN存储库中每个目录上设置的属性的列表: svn proplist -Rv 这显示了所有属性,例如svn:mime-type或svn:executable。我希望将其过滤为仅svn:ignore属性。我确信有某种方法可以将这个命令的结果通过shell命令传递给我,这只会向我显示我感兴趣的行,但是我不知道该怎么做。例如,某种类型的命令是最有用的一种类型的命令(但此命令不起作用!)。 svn proplist -Rv | grep "^ svn:ignore" | awk "{print \$1}" 我只是对grep和awk之类的shell命令了解不足,无法对我有效。这只是一遍又一遍地显示“ svn:ignore”,但不会打印出目录路径或svn:ignore属性内容。这是我想获取的“ svn proplist -Rv”输出的示例,其中“ cache”是路径,“ *”是属性的值。 Properties on 'cache': svn:ignore * 如何使以上命令起作用和/或有更好的方法查看svn:ignore存储库中的所有属性?
67 svn  awk  grep 

6
Grep用于行的开始和结束?
我有一个文件要在其中以-rwx或drwx开头并以任何数字结尾的行进行grep。 我已经知道了,但这并不完全正确。有任何想法吗? grep [^.rwx]*[0-9] usrLog.txt
67 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.