Questions tagged «grep»

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

2
Bash中的正则表达式问题:[^ negate]似乎不起作用
当我ls /directory | grep '[^term]'在Bash中执行时,我得到一个常规清单,好像该grep命令被某种方式忽略了。我尝试使用进行相同的操作egrep,尝试使用双引号和单引号将其使用,但没有更好的结果。当我尝试时,ls /directory | grep '^[term]我得到所有以term开头的条目-符合预期。 我已经在一个在线编辑器中试用了此命令,可以在其中测试我的正则表达式,并且可以正常工作。但不是在Bash中。因此它可以在模拟中工作,但不能在现实生活中工作。 我正在使用Crunchbang Linux10。我希望这是足够的信息,并且期待每一个提示,因为未能在这样的基本级别上执行和浪费时间确实令人沮丧!

1
是否始终忽略GREP_OPTIONS = --color =?
我正在设置环境GREP_OPTIONS,无法正常工作。只是好奇为什么。 简单的测试命令输出: richard@ubuntu:~$ echo $GREP_OPTIONS richard@ubuntu:~$ richard@ubuntu:~$ ls | grep o Desktop downloads Dropbox ebooks workspace richard@ubuntu:~$ ls | grep o --color=always | less -R richard@ubuntu:~$ export GREP_OPTIONS="--color=always" richard@ubuntu:~$ ls | grep o | less -R 第一个grep以彩色输出到终端(每个'o'为红色) 第二个grep通过更少的颜色输出(与1相同) 但是第3个grep的输出会减少,但会以黑白显示-但这应该是彩色的。 因此,似乎grep正在忽略GREP_OPTIONS。那是一个错误还是我做错了什么? (Ubuntu 12.04.2,GNU grep 2.10)
8 ubuntu  grep  less 


6
使grep输出而不尾随换行符
请考虑以下代码段: X=$(grep -m1 'some-pattern' some-file | sed -n 's/.* //p') 如果某个模式条件与任意文本文件中的行匹配,我想将最后一个单词放在变量中 我的问题是,变量最后X要有CR或LF或CRLF,具体取决于要删除的源文件,因为它干扰了我打算执行的后续操作。 我什至尝试过类似的方法: X=$(grep -m1 'some-pattern' some-file | sed -n 's/.* \([A-Za-z]\+\)/\1/p') 因此,期望sed输出受到限制,[A-Za-z]+但X变量中仍然有此讨厌的字节。 我怎样才能摆脱它,而无需使用像看到的是什么字节在结束了太多的代码,xxd那么cut它和类似的并发症?
8 bash  grep 

5
UNIX实用程序的智能程度如何?
Unix实用程序,例如sort,find,grep,diff等非常易于执行快速任务,有时甚至根本不需要编写任何代码。 我想知道它们在内部使用什么算法,以及如何智能地为特定任务确定特定算法?例如,如果sort得到一个巨大的输入文件,是否会对不同的数据大小使用不同的算法? grep在搜索不同数据集时是否智能切换算法?

3
提取与另一个文件中的单词列表匹配的行
我有以下行的文件1: ATM 1434.972183 BMPR2 10762.78192 BMPR2 10762.78192 BMPR2 1469.14535 BMPR2 1469.14535 BMPR2 1738.479639 BMS1 4907.841667 BMS1 4907.841667 BMS1 880.4532628 BMS1 880.4532628 BMS1P17 1249.75 BMS1P17 1249.75 BMS1P17 1606.821429 BMS1P17 1606.821429 BMS1P17 1666.333333 BMS1P17 1666.333333 BMS1P17 2108.460317 BMS1P17 2108 文件2包含单词列表: ATM BMS1 因此,输出将如下所示: ATM 1434.972183 BMS1 4907.841667 BMS1 4907.841667 BMS1 880.4532628 BMS1 …

5
如何grep / awk / sed随机模式
我有一个尝试从中拉出字符串的日志文件。数字字符串是随机生成的,到目前为止,我使用grep / sed / awk的所有尝试均未成功。 我有一个类似以下的条目: "id":"30c962de-b448-40ac-ade8-da6a8f49ce88","title": 我想解析的是随机生成的 30c962de-b448-40ac-ade8-da6a8f49ce88 任何人都有快速而肮脏的方法来使它起作用吗?
awk  sed  grep 

2
仅抓取准确的文本以输出?
可以说我有这行文字: #cat numbers.txt Numbers!!!! John=55 May=43 RandomData Alex=72 Ben=90 End 但是我只对约翰的电话号码感兴趣。如何删除所有其他我不想要的东西并将输出变成: #cat numbers.txt | <some command line magic> John=55 注意:我不知道“ John”在文本文件中的位置,或分配给John的编号。

2
与grep相同匹配不同的打印
早些时候通过grep在这里获得了一些有价值的帮助,因此希望我也能解决这个问题。 这是来自Rclone日志 Transferred: 577.080M / 577.080 MBytes, 100%, 12.660 MBytes/s, ETA 0s Errors: 0 Checks: 2 / 2, 100% Transferred: 2 / 2, 100% Elapsed time: 45.5s 我想做的是创建一个包含自定义文本的电子邮件通知。类似于“已传输577 MBytes,25.5个错误,在125.5 MBytes / s下的45.5秒内有0个错误的文件” 为此,我需要打印值。我没有运气就以以前的方式尝试过。在日志中将其传输了两次,如何拆分它们以获取TRF = 577.080Mbytes和TRS = 12.660 MBytes / s TRF=$(grep -o 'Transferred:.*' $logfile| cut -d\ -f4) ERR=$(grep -o 'Errors:.*' …
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.