Questions tagged «grep»

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

6
grep用于Unix中的特殊字符
我有一个日志文件(application.log),其中可能包含多行以下正常字符和特殊字符的字符串: *^%Q&$*&^@$&*!^@$*&^&^*&^& 我想搜索包含此特殊字符串的行号。 grep '*^%Q&$*&^@$&*!^@$*&^&^*&^&' application.log 上面的命令不返回任何结果。 获取行号的正确语法是什么?

5
使用“ |”进行grepping 替代运算符
以下是一个名为AT5G60410.gff的大文件的示例: Chr5 TAIR10 gene 24294890 24301147 . + . ID=AT5G60410;Note=protein_coding_gene;Name=AT5G60410 Chr5 TAIR10 mRNA 24294890 24301147 . + . ID=AT5G60410.1;Parent=AT5G60410;Name=AT5G60410.1;Index=1 Chr5 TAIR10 protein 24295226 24300671 . + . ID=AT5G60410.1-Protein;Name=AT5G60410.1;Derives_from=AT5G60410.1 Chr5 TAIR10 exon 24294890 24295035 . + . Parent=AT5G60410.1 Chr5 TAIR10 five_prime_UTR 24294890 24295035 . + . Parent=AT5G60410.1 Chr5 TAIR10 exon 24295134 …
92 regex  linux  grep 

3
git grep通过文件扩展名
我知道,如果我只想对具有某些扩展名的文件使用grep格式,则可以这样做: // searches recursively and matches case insensitively in only javascript files // for "res" from the current directory grep -iIr --include=*.js res ./ 我一直在尝试寻找一种通过git grep来做到这一点的方法(以利用git grep的速度来利用它在树中存储的索引),但是没有用。我在这里看到不可能排除某些文件类型。

30
使用正则表达式验证IPv4地址
我一直在尝试获得用于IPv4验证的高效正则表达式,但是运气不佳。似乎我曾经有过(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?(\.|$)){4},但是却产生了一些奇怪的结果: $ grep --version grep (GNU grep) 2.7 $ grep -E '\b(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?(\.|$)){4}\b' <<< 192.168.1.1 192.168.1.1 $ grep -E '\b(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?(\.|$)){4}\b' <<< 192.168.1.255 192.168.1.255 $ grep -E '\b(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?(\.|$)){4}\b' <<< 192.168.255.255 $ grep -E '\b(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?(\.|$)){4}\b' <<< 192.168.1.2555 192.168.1.2555 我进行了搜索以查看是否已被问到并回答过,但是其他答案似乎只是显示如何确定4组1-3个数字,或者对我不起作用。

8
如何截断grep或ack返回的长匹配行
我想在通常行很长的HTML文件上运行ack或grep。我不想看到很长的线条反复缠绕。但是我确实想看到长线的那一部分包围与正则表达式匹配的字符串。如何使用Unix工具的任意组合获得此信息?
89 grep  unix  ack 

5
在grep输出中显示文件名和行号
我正在尝试使用grep搜索rails目录。我正在寻找一个特定的单词,我想grep打印出文件名和行号。 是否有grep标志可以帮我做到这一点?我一直在试图使用的组合-n和-l,但这些要么打印出来的文件名不带数字或只是倾出大量的文字来不能轻易读取终端。 例如: grep -ln "search" * 我需要将其通过管道传输到awk吗?
87 awk  grep 

1
grep regex空格行为
我有一个文本文件,其中包含以下内容: 12,34 EUR 5,67 EUR ... “ EUR”之前有一个空格,我忽略了0,XX EUR。 我试过了: grep '[1-9][0-9]*,[0-9]\{2\}\sEUR' => didn't match ! grep '[1-9][0-9]*,[0-9]\{2\} EUR' => worked ! grep '[1-9][0-9]*,[0-9]\{2\}\s*EUR' => worked ! grep '[1-9][0-9]*,[0-9]\{2\}\s[E]UR' => worked ! 有人可以解释我请,我为什么不能用\s,但\s*和\s[E]匹配? 操作系统:Ubuntu 10.04,grep v2.5
87 regex  grep  gnu 

10
使用星号登录grep
我正在尝试在linux / bash中的特定文件中搜索子字符串“ abc” 所以我做: grep '*abc*' myFile 它什么也不返回。 但是,如果我这样做: grep 'abc' myFile 它正确返回匹配项。 现在,这对我来说不是问题。但是,如果我想grep输入更复杂的字符串怎么办? *abc * def * 我将如何使用grep完成它?
87 regex  bash  grep 

15
grep在文件中的不同行上有多个字符串(即整个文件,不是基于行的搜索)?
我希望到grep包含文件的话Dansk,Svenska或者 Norsk任何线,以可用的返回码(因为我真的只喜欢有这些字符串包含了信息,我的一行又进了一步,然后这一点)。 我有很多这样的文件,其中有行: Disc Title: unknown Title: 01, Length: 01:33:37.000 Chapters: 33, Cells: 31, Audio streams: 04, Subpictures: 20 Subtitle: 01, Language: ar - Arabic, Content: Undefined, Stream id: 0x20, Subtitle: 02, Language: bg - Bulgarian, Content: Undefined, Stream id: 0x21, Subtitle: 03, Language: cs - Czech, Content: Undefined, Stream …
85 bash  awk  grep 


10
如何grep,排除某些模式?
我想在文件中查找出现某种模式而没有某种其他模式的行。例如,我需要找到所有文件/行,包括loom带有的文件/行gloom。所以,我可以loom用命令找到: grep -n 'loom' ~/projects/**/trunk/src/**/*.@(h|cpp) 现在,我要搜索loom排除gloom。但是,以下两个命令均失败: grep -v 'gloom' -n 'loom' ~/projects/**/trunk/src/**/*.@(h|cpp) grep -n 'loom' -v 'gloom' ~/projects/**/trunk/src/**/*.@(h|cpp) 我应该怎么做才能实现自己的目标? 编辑1:我的意思是loom和gloom是字符序列(不一定是单词)。因此,例如,我需要bloomberg在命令输出中,不需要ungloomy。 编辑2:有我的期望的样本。以下两行都在命令输出中: 我面对着穿过香气笼罩的标志。 附庸风雅的slooming在一个阴沉的一天。 以下两行均不在命令输出中: 这是令人沮丧的令人沮丧的阴毛–伟大的穆勒杜勒犬或血栓。 在高皮特特大厅的西南圆
84 bash  grep 

5
如何全词重复
我正在使用以下命令在子目录中grep东西 find . | xargs grep -s 's:text' 但是,这也会发现类似 <s:textfield name="sdfsf"...../> 我应该怎么做才能避免这种情况,所以它只会发现类似 <s:text name="sdfsdf"/> 或为此...。也发现 <s:text somethingElse="lkjkj" name="lkkj" 基本上s:text并且name应该在同一行....
82 unix  grep 

2
如何使用单词列表进行grep
我有一个文件A,其中有100个字,用新行分隔。我想搜索文件B以查看文件A中是否有任何单词出现。 我尝试了以下操作,但对我不起作用: grep -F A B
81 grep 

2
将grep结果输出到文本文件,需要更干净的输出
使用Grep命令在一组文件中查找搜索字符串时,如何将结果转储到文本文件中? 还有用于Grep命令的开关,它提供了更整洁的结果以提高可读性,例如,每个条目之间的换行或一种证明文件名和搜索结果合理的方法? 例如,一个改变的地方... ./file/path: first result ./another/file/path: second result ./a/third/file/path/here: third result 至 ./file/path: first result ./another/file/path: second result ./a/third/file/path/here: third result
81 text  grep  output 

9
如何grep git diff?
有没有办法显示通过给定模式过滤的git-diff。 就像是 git grepdiff pattern changed file +++ some sentence with pattern changed file 2 --- some other pattern 不幸的是,最简单的解决方案还不够好 git diff | grep pattern +++ some sentence with pattern --- some other pattern # not an option as doesn't put the filename close to the match 我使用awk提供了一种解决方法 git diff …
81 git  grep  diff 

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.