Questions tagged «grep»

对于与grep有关的问题,这是一种用于搜索文件中文本模式的命令行工具。对于有关grep本身的问题或因使用grep命令行工具引起的问题,请使用此标签。

4
为什么grep在这里使用管道不起作用?
我有以下命令: find / -name libGL.so.1 它返回很多行与“权限被拒绝”。我想排除这些行,因此添加了以下内容: find / -name libGL.so.1 | grep -v 'denied' 但是输出是相同的-我grep -v 'denied'没有用过滤掉行Permission denied。我尝试了许多变体,查看了grep教程,但无法弄清楚问题所在。有什么建议么?
18 shell  grep  pipe 

1
grep搜索+下一行
通过该grep命令,我找到了我需要的文本,如下所示: grep 'C02' ~/temp/log.txt 现在,无论我在哪里找到所需的字符串,我都想在找到的字符串之后打印行。 例如,假设所需的文本是“ abc”,并且在第12行找到了abc,我也想打印第13行。
18 grep 

1
何时使用grep,更少,awk,sed [关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 3年前关闭。 我正在进入Linux的世界,在工作中,我使用的grep越来越多。通过这样做,我发现有时候这不足以满足我的需求。 grep几天前,我在苦苦挣扎,我的一位资深Linux管理员同事告诉我使用awk。我以如此快的速度震惊了我。 所以我的问题是,您什么时候选择一个使用另一个?grep如果可以awk节省时间,在上班并花费大量时间之前,我可以问自己什么问题?
17 awk  sed  grep  less 


1
删除字段值小于或等于3的行-sed或awk?
我需要删除第8个字段(列)中值等于或小于2的每一行。 我的数据如下所示: 12-31 Airport 189 379 41 49.70946503 -124.91377258 2 2880 30.8 01-01 AlberniElementary 165 331 16 49.26100922 -124.80662537 4 5760 26.1 01-09 BamfieldMarine 161 323 23 48.83490372 -125.13572693 2 2875 27.4 01-10 BamfieldMarine 161 323 23 48.83490372 -125.13572693 3 3068 38.6 我知道使用awk可以剥离所需的值并将它们打印到另一个文件,并且我知道sed可以编辑当前文件。无论哪种情况,我都需要保留原始文件。 注意:请提供您的解决方案的详尽说明。仅编写命令是不够的,请注释建议。 进一步说明:数据具有标题行,因此最可能的解决方案将需要 awk'FNR> 1' 我想?
17 shell  shell-script  sed  awk  grep 

4
没有前导空格的情况下如何grep?
我正在浏览大型代码库,而领先的空格和制表似乎很烦人。有什么办法摆脱它吗? grep -R "something" ./ 例如,代替: foo/bar.cpp: qwertyuiosomethingoi foo/bar/baz.h: 43rfsgsomethingdrfg bar/bar.cpp: 1234edwssomethingczd 我想得到类似的东西: foo/bar.cpp: qwertyuiosomethingoi foo/bar/baz.h: 43rfsgdsomethingrfg bar/bar.cpp: 1234edwssomethingczd 或更好: foo/bar.cpp: qwertyuisomethingooi foo/bar/baz.h: 43rfsgdrsomethingfg bar/bar.cpp: 1234edwssomethingczd


7
如何打开grep生成的文件?
我经常grep一堆文件来查找一行,然后grep返回一个结果。与其将文件名复制并粘贴到新命令中,我希望能够使用编辑器打开该结果。类似于:grep foo | vim。有没有办法在BASH中做到这一点?
17 bash  grep 

5
使用grep vs awk
捕获特定图案,awk并且grep可以使用。为什么我们要使用一个?哪个更快,为什么? 如果我有一个日志文件并且想要获取某种模式,则可以执行以下操作之一 awk '/pattern/' /var/log/messages 要么 grep 'pattern' /var/log/messages 我还没有做过任何基准测试,所以我不知道。有人可以详细说明吗?很高兴知道这两个工具的内部工作原理。
17 linux  awk  grep  performance 



8
如何计算文件中字节序列出现的次数?
我想计算某个字节序列在文件中发生了多少次。例如,我想找出该数字\0xdeadbeef在可执行文件中出现了多少次。现在我正在使用grep做到这一点: #/usr/bin/fish grep -c \Xef\Xbe\Xad\Xde my_executable_file (因为我的CPU是little-endian,所以这些字节以相反的顺序写入) 但是,我的方法存在两个问题: 这些\Xnn逃逸序列仅在鱼壳中起作用。 grep实际上是在计算包含我的幻数的行数。如果模式在同一行中出现两次,则只会计数一次。 有办法解决这些问题吗?我如何才能使这一衬板在Bash shell中运行并准确计算出文件中图案出现的次数?

1
违规处罚的agrep
我使用tre-agrep (手册页),的实施方案agrep (手册页),来执行近似模式匹配。该实用程序根据Levenshtein距离搜索匹配项,并且用户可以配置应用于替换,插入或删除编辑的罚分。 但是,我想在查询的整个长度上应用不同的权重,即在查询的开头(左端)要比在右边的删除权重低。该man实用程序的页面并不表示可以进行这种控制。 是否有其他命令行工具可以近似匹配并更好地控制不匹配惩罚?
16 grep  agrep 

2
在(包括)两个模式之间打印行
我想从行CK末的行开始grepping,而当行末的行停止grepping D。我尝试过grep "$CK" "$D" file..txt,但是没有用。 输入: kkkkkkkkkkk jjjjjjjjjjjjjjjjjj gggggggggggg/CK JHGHHHHHHHH HJKHKKLKLLL JNBHBHJKJJLKKL JLKKKLLKJLKJ/D GGGGGGGGGGGGGG GGGGGGGGGGGGGG 所需的输出: gggggggggggg/CK JHGHHHHHHHH HJKHKKLKLLL JNBHBHJKJJLKKL JLKKKLLKJLKJ/D

2
grep:显示一次文件名,然后显示带有行号的上下文
我们的源代码中遍布错误代码。使用grep可以很容易地找到它们,但是我想要一个find_code可以执行的bash函数(例如find_code ####),它将提供以下内容的输出: /home/user/path/to/source.c 85 imagine this is code 86 this is more code 87 { 88 nicely indented 89 errorCode = 1111 90 that's the line that matched! 91 ok this block is ending 92 } 93 } 这是我目前拥有的: find_code() { # "= " included to avoid matching unrelated number …

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.