Questions tagged «grep»

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

2
如何在grep中使用tail -f来显示周围的线条
我希望看到日志文件中的输出只包含一个域,也包含以下两行。 例: tail -f /var/log/apache2/modsec_audit.log |grep mydomain.de 这显示了所有包含“ mydomain.de”的行,但重要信息在该行下方的行中,其中包含域
16 grep  tail 

2
默认情况下,grep -r在哪里搜索?
我发现如果我使用grep搜索时没有指定路径,就像grep -r 'mytext'它需要无限长的时间。同时,如果我使用指定的路径搜索,grep -r 'mytext' .它会立即找到我需要的东西。所以,我很好奇,第一种形式是grep在哪个目录中搜索? UDATE:grep版本:grep(GNU grep)2.10
16 grep  recursive 

4
查找进程的ID并杀死它
每当我需要终止后台进程时,我都会这样做 ps -e | grep <process_name> 它打印这样的事情1766 ? 00:00:13 conky,然后我使用进程ID,以kill它喜欢这样kill 1766。 有什么办法可以简化吗?使其更快?减少打字量?
16 process  grep  kill  ps 

6
如何通过压缩档案递归grep?
我试图找出use Test::Versioncpan中的哪些模块。所以我曾经minicpan镜像过。我的问题是我需要遍历下载的档案,并grep档案中的文件。谁能告诉我该怎么做?最好以某种方式告诉我档案中的哪个文件以及该文件在哪一行。 (注意:它们不是全部的tarball,有些不是zip文件)
16 grep  find  zip  recursive  archive 

3
bash查找xargs grep仅一次出现
也许有点奇怪-也许还有其他工具可以做到这一点,但是。 我正在使用以下经典bash命令来查找包含某些字符串的所有文件: find . -type f | xargs grep "something" 我有很多深度的文件。第一次出现“某物”对我来说已经足够了,但是find会继续搜索,并且需要很长时间才能完成其余文件。我想做的是从grep返回查找的“反馈”,以便查找可以停止搜索更多文件。这样的事情可能吗?
16 bash  find  grep  xargs 

5
查找文件中任何位置包含多个关键字的文件
我正在寻找一种列出目录中所有文件的方法,该文件包含我要查找的关键字的完整集合,位于文件的任何位置。 因此,关键字不必出现在同一行上。 一种方法是: grep -l one $(grep -l two $(grep -l three *)) 三个关键字只是一个例子,也可以是两个或四个,依此类推。 我能想到的第二种方法是: grep -l one * | xargs grep -l two | xargs grep -l three 在另一个问题中出现的第三个方法是: find . -type f \ -exec grep -q one {} \; -a \ -exec grep -q two {} \; -a …


8
如何查找内容中包含100%NUL字符的文件?
可以识别此类文件的Linux命令行命令是什么? AFAIK该find命令(或grep)只能匹配文本文件中的特定字符串。但是我想匹配所有内容,即我想查看哪些文件匹配正则表达式\0+,而忽略行尾字符。也许这个find . cat | grep成语可能有效,但是我不知道如何使grep忽略行(并将文件视为二进制文件)。 背景:每隔几天,当我的笔记本电脑死机时,我的btrfs分区就会丢失信息:为写入而打开的文件将其内容替换为零(文件大小或多或少保持不变)。我使用同步,并且我不想传播这些假文件:我需要一种识别它们的方法,以便可以从备份中获取它们。

6
查找和回显仅具有模式的文件名
我经常使用它,我尝试实现的改进是避免回显文件名与grep不匹配。更好的方法吗? for file in `find . -name "*.py"`; do echo $file; grep something $file; done
16 grep  find 

5
如何杀死给定名称的所有进程?
我运行命令ps -A | grep <application_name>并获取如下所示的进程列表: 19440 ? 00:00:11 <application_name> 21630 ? 00:00:00 <application_name> 22694 ? 00:00:00 <application_name> 我要杀死列表中的所有过程:19440,21630,22694。 我已经尝试过,ps -A | grep <application_name> | xargs kill -9 $1但是它有错误。 kill: illegal pid ? kill: illegal pid 00:00:00 kill: illegal pid <application_name> 我该如何优雅地做到这一点?
16 grep  process  kill  ps 

2
将grep与--exclude-dir标志一起使用以排除多个目录
我正在Ruby on Rails应用程序中搜索grep在OSX上使用的单词,我想排除匹配特定模式的目录。 我正在使用以下命令: grep -inRw -E 'direct' . --exclude-dir -E 'git|log|asset' 该命令没有按照我的预期去做。我认为这会起作用: i-不区分大小写的搜索 n-在其中找到图案的打印行号 R-递归搜索 w-我只想要整个单词-即匹配“直接”而不匹配“目录” -E-使用扩展的正则表达式 'direct'-我要匹配的正则表达式 。-在当前目录中搜索 --exclude-dir -E'git | log | asset'-排除与git或日志或资产匹配的目录。 在排除目录方面,该命令仍然最终在“ ./git”和“ ./log”目录以及“ ./app/assets”中搜索 我显然缺乏基本知识,但我不知道这是什么。

1
从另一个文件中列出的文件中查找模式
我想找到一个文件中列出的模式,然后在另一文件中找到它们。第二个文件的模式用逗号分隔。 例如第一个文件F1具有基因 ENSG00000187546 ENSG00000113492 ENSG00000166971 第二个文件F2具有这些基因以及一些我需要的列(五列) region gene chromosome start end intronic ENSG00000135870 1 173921301 173921301 intergenic ENSG00000166971(dist=56181),ENSG00000103494(dist=37091) 16 53594504 53594504 ncRNA_intronic ENSG00000215231 5 5039185 5039185 intronic ENSG00000157890 15 66353740 66353740 因此,第二个文件中存在的基因ENSG00000166971不会出现在grep中,因为它带有另一个用逗号分隔的基因。 我的代码是: grep -f "F1.txt" "F2.txt" >output.txt 即使存在其中一个值,我也想要这些值以及与之关联的数据。是否有任何方法可以做到这一点?
15 grep 

8
如何执行多行grep
您将如何对出现在两行上的文本执行grep? 例如: pbsnodes 是我使用的命令,该命令返回Linux集群的利用率 root$ pbsnodes node1 state = free procs = 2 bar = foobar node2 state = free procs = 4 bar = foobar node3 state = busy procs = 8 bar = foobar 我想确定与处于“ free”状态的节点匹配的proc的数量。到目前为止,我已经能够确定“进程数”和“处于空闲状态的节点”,但是我想将它们组合成一个显示所有空闲进程的命令。 在上面的示例中,正确答案将是6(2 + 4)。 我有的 root$ NUMBEROFNODES=`pbsnodes|grep 'state = free'|wc -l` root$ echo …

1
如何使用grep输入保留颜色代码?
如果我使用两个连续的grep命令,例如: echo "foo bar" | grep foo | grep bar 然后,第一个模式(“ foo”)不突出显示。实际上,似乎grep会从其输入中删除颜色代码。有什么办法可以防止这种情况?
15 shell  grep  colors 


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.