Questions tagged «grep»

grep是用于搜索文件中文本模式的命令行工具。

2
如何仅在关键字grep搜索之后显示文件名?
我目前在目录中有n个数据文件,其中每个文件最多具有1行非常长的数据。我的目录结构是 director/ data1.json data2.json data3.json 我知道这些文件中至少有一个包含我要查找的关键字,但是由于一行数据太长,因此它覆盖了我的整个终端。仅在执行关键字grep后如何获取文件名?我正在使用的grep命令是: grep keyword *.json
15 grep 

1
Ack搜索文字字符串[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,以使其成为服务器故障的主题。 7年前关闭。 当我要搜索html标签的一部分时,我厌倦了不得不转义的事情。 如何在不转义的情况下确认输入的内容准确? 例如 ack-grep 'console.log(foo' 我得到: Unmatched ( in regex; marked by <-- HERE in m/console.log( <-- HERE par/
15 grep  regex 


5
遍历.gz日志文件
是否存在神奇的外壳管道,可以轻松地通过一堆.gz日志文件进行grep,而无需将其提取到某处? .gz文件是Apache日志,是日志轮换的结果。我想快速检查一下过去曾经多次访问某些URI。


3
grep在Fedora和Ubuntu上的表现有所不同
因此,当我在Fedora中运行此命令时,我看到的是: $ ls hmm_data/indivA12_AATAAG/refs/par1/ 2R-orths.alleles 2R-ref.alleles $ ls hmm_data/indivA12_AATAAG/refs/par1/ | grep -F '-ref.alleles' 2R-ref.alleles 但是当我在Ubuntu(相同数据)上运行时,我没有从grep得到任何结果: $ ls hmm_data/indivA12_AATAAG/refs/par1/ 2R-orths.alleles 2R-ref.alleles $ ls hmm_data/indivA12_AATAAG/refs/par1/ | grep -F '-ref.alleles' 有什么想法怎么回事?如何提出在两个系统上都可以使用的相同功能?
13 ubuntu  bash  fedora  grep 

6
比赛结束后的grep行直到结束
我有以下输出git status,如何grep处理之后的所有内容Untracked files: [alexus@wcmisdlin02 Test]$ git status # On branch master # # Initial commit # # Changes to be committed: # (use "git rm --cached <file>..." to unstage) # # new file: app/.gitignore # new file: app/app.iml # new file: app/build.gradle # new file: app/proguard-rules.pro # new file: app/src/androidTest/java/org/alexus/test/ApplicationTest.java …

5
从syslog日志文件中快速提取时间范围?
我有一个标准syslog格式的日志文件。看起来像这样,除了每秒数百行: Jan 11 07:48:46 blahblahblah... Jan 11 07:49:00 blahblahblah... Jan 11 07:50:13 blahblahblah... Jan 11 07:51:22 blahblahblah... Jan 11 07:58:04 blahblahblah... 它不会在恰好午夜滚动,但永远不会超过两天。 我经常不得不从该文件中提取时间片。我想为此编写一个通用脚本,可以这样调用: $ timegrep 22:30-02:00 /logs/something.log ...并从午夜22:30开始划出界线,直到午夜2点为止。 有一些警告: 我不想麻烦在命令行上键入日期,而只是时间。该程序应该足够聪明以找出它们。 日志日期格式不包含年份,因此应该根据当前年份进行猜测,但是在新年前后还是可以做的事情。 我希望它速度很快-它应该利用行是为了在文件中四处查找并使用二进制搜索这一事实。 在我花大量时间写这篇文章之前,它已经存在吗?
12 linux  log-files  grep 


8
如何在给定目的地的情况下在LINUX中获取默认网关?
我正在尝试使用目标0.0.0.0获取默认网关 我使用了以下命令:netstat -rn | grep 0.0.0.0 它返回此列表: Destination - Gateway - Genmask - Flags - MSS - Window - irtt - Iface 10.9.9.17 - 0.0.0.0 - 255.255.255.255 - UH - 0 0 0 - tun0 133.88.0.0 - 0.0.0.0 - 255.255.0.0 - U - 0 0 0 - eth0 0.0.0.0 - …
11 gateway  grep 

6
使用PV的Grep进度栏(管道查看器)
我的计算机上有一个巨大的目录,我需要在其中的每个ruby文件中搜索一个字符串。 我本可以这样完成的:grep -R "string" *.rb但是要花很长时间,我想使用pv(管道查看器)显示进度条以能够监视grep进度。 但是我真的不知道如何编写此命令,因为对于该命令我仍然有些不了解。 有人知道吗?
11 grep  pv 

2
如何以编程方式在sudoers文件中添加secure_path
我正在尝试为EC2实例构建用户数据脚本,该EC2实例从github构建node和npm,然后启动服务。为了给这些轮子加脂,我需要添加: :/usr/local/bin 到/ etc / sudoers行的末尾,该行开始于: Defaults secure_path=" /superuser/927512/how-to-set-path-for-sudo-commands讨论了使用visudo来实现这一点,但是我想以编程方式在EC2用户数据中实现。 /programming/16282789/adding-sudo-permissions-to-sudoers-for-user-via-shell-script讨论了有关编辑sudoers文件的问题,但是对于我正在尝试的工作似乎已经过头了实现。 我以为grep行并替换它会很容易,但是我很沮丧。不仅因为那个令人讨厌的倒置逗号!
11 linux  grep 

2
掌握CIDR范围
我不时地要在我的Apache日志文件之外grep CIDR范围。对于落在自然边界(/ 8,/ 16和/ 24)上的范围,这很容易,但是对于其他范围(例如,/ 17和/ 25)则不那么容易。 例子: # 192.168.0.0/16: (easy) grep " 192\.168\." access_log # 192.168.128.0/17: (more thought required) grep -E " 192\.168\.(12[89]|1[3-9][0-9]|2[0-5][0-9])\." access_log # 192.168.0.0/17: (more thought required) grep -E " 192\.168\.([0-9]|[0-9][0-9]|1[01][0-9]|12[0-7])\." access_log # 192.168.128.0/18: (straining my brain) grep -E " 192\.168\.(1[2-8][0-9]|19[01])\." access_log 这些正则表达式会忽略包含前导零的IP地址,例如192.168.001.001,这在Apache日志文件中不是问题,但可能在其他日志文件中。打印机似乎特别喜欢前导零。将可选的零添加到正则表达式很容易,但这只会使整个过程变得更加困难。必须有一种更简单的方法。 有没有一种简单的方法可以从文件中选择匹配任何CIDR范围的行? 花哨的正则表达式扩展将被认为是不同的工具(例如,awk或perl如果需要,但我希望它是一种工具),只要它们使工作变得容易。理想情况下,我想要的是 grep "[:CIDR …
10 ip  regex  grep  cidr 

5
将多个unix命令合并为一个输出
我需要在我们的邮件日志中搜索特定的电子邮件地址。我们将一个名为maillog的当前文件以及一个星期的.bz2文件保存在同一文件夹中。当前,我正在运行以下命令来搜索文件: grep person@domain.com maillog bzgrep person@domain.com *.bz2 有没有一种方法可以将grep和bzgrep命令组合为单个输出?这样,我可以将合并的结果通过管道发送到单个电子邮件或单个文件。
9 linux  unix  bash  grep 

4
使用ack-grep搜索文字“> \”
我正在寻找字面上大于字符(>)的行,其后是一个空格,后接反斜杠字符(“ \”),即具有以下内容的行:> \ 我认为转义将允许这样做,并且比它更重要的是: $ ack-grep“ \>” 返回其中包含“>”的行。 但是,当我尝试也逃脱反斜杠时,我得到: $ ack-grep“ \> \\” ack-grep:无效的正则表达式'\> \': 在正则表达式m / \> /中尾随\
9 grep  regex  escaping 

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.