Questions tagged «grep»

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

1
如何使用grep过滤掉以任何关键字开头的行?
我有一个大的文件(化学品数据库),我需要显示只有头记录,其被定义为不启动线:ATOM,CONNECT,HETATM,TER,或END。我应该grep用来做这个。这是文件的示例(整个文件在此处): HEADER TRANSFERASE 15-OCT-12 4HKD TITLE CRYSTAL STRUCTURE OF HUMAN MST2 SARAH DOMAIN COMPND MOL_ID: 1; COMPND 2 MOLECULE: SERINE/THREONINE-PROTEIN KINASE 3; COMPND 3 CHAIN: A, B, C, D; COMPND 4 FRAGMENT: SARAH DOMAIN, UNP RESIDUES 436-484; COMPND 5 SYNONYM: MAMMALIAN STE20-LIKE PROTEIN KINASE 2, MST-2, STE20-LIKE COMPND 6 KINASE …
10 grep 



2
如何制作竖条 在grep中工作?
这是我尝试过的grep命令行示例: grep '(565172|565173|565175)' /var/log/cups/error_log 即使所有3个值都在文件中多次,它也不会产生任何输出。 我尝试转义条形,并且这有所改善-检测到中间值,但没有检测到第一个或最后一个。 grep '(565172\|565173\|565175)' /var/log/cups/error_log 我也尝试过两次越狱,但没有结果。 grep '(565172\\|565173\\|565175)' /var/log/cups/error_log 我究竟做错了什么?谢谢。
10 grep 

1
尝试编写可继续远程测试服务器的shell脚本,但注销时该脚本始终落在else语句中
尝试在此处编写一个shell脚本,该脚本不断测试我的服务器,并在出现故障时向我发送电子邮件。 问题是,当我从ssh连接注销时,尽管&在命令末尾(如)运行ssh连接,它./stest01.sh &仍自动落入else并保持不间断地向我发送邮件,直到我再次登录并杀死它。 #!/bin/bash while true; do date > sdown.txt ; cp /dev/null pingop.txt ; ping -i 1 -c 1 -W 1 myserver.net > pingop.txt & sleep 1 ; if grep "64 bytes" pingop.txt ; then : else mutt -s "Server Down!" myemail@address.com < sdown.txt ; sleep 10 ; fi …

8
如何grep在特定列中具有特定值的行?
我有一个如下文件 200.000 1.353 0.086 200.250 1.417 0.000 200.500 1.359 0.091 200.750 1.423 0.000 201.000 1.365 0.093 201.250 1.427 0.000 201.500 1.373 0.093 201.750 1.432 0.000 202.000 1.383 0.091 202.250 1.435 0.000 202.500 1.392 0.087 202.750 1.436 0.000 203.000 1.402 0.081 203.250 1.437 0.001 203.500 1.412 0.073 204.000 1.423 0.065 204.500 …
9 awk  grep 

2
Grep找到正确的行,用sed更改内容,然后将其放回原始文件中?
我正在尝试更改文件中特定行上的单个单词,但是将所有单词连接在一起时遇到了一些麻烦。 基本上,在文件的一行上有一个关键字“ firmware_revision”,并且在这一行(并且只有这一行)上,我想用“生产”一词代替“测试”一词。 所以我可以这样做: grep 'firmware_revision' myfile.py | sed 's/test/production' 这将挑选出我想要的行并执行替换,但是我不知道如何将新行插入原始文件以替换旧行。我显然不能仅仅将其重定向回文件,那么该怎么办? 即使我使用临时文件,通过使用临时grep文件,我也需要丢失文件中的所有其他数据,因此,我不再只能将所有文件重定向到临时文件,而是用临时文件替换原始文件。 编辑-有人要求更多信息 可以说我有一个像这样的文件 [ ('key_name1', str, 'value1', 'Description'), ('key_name2', str, 'value2', 'Description'), ('key_name3', str, 'value3', 'Description'), ('firmware_revision', str, 'my-firmware-name-test', 'Firmware revision name') ] 现在,我想编写一个脚本(最好是单行代码),该脚本将找到包含“ firmware_revision”的行,并将该行中“ test”一词的所有实例更改为“ production”。“测试”一词可能在该文件的其他位置,我不希望更改这些内容。为了清楚起见,我想将上面的行更改为 ('firmware_revision', str, 'my-firmware-name-production', 'Firmware revision name') 我该怎么做呢?


5
查找多个文件中字符串的最后一次出现
我需要搜索多个日志文件(过去24小时内生成的所有文件,都保存在同一目录中)以查找字符串的最后一次出现。这是我写的命令: find . -mtime 1 | grep fileprefix | xargs grep 'search string' | tail -1 但这仅返回一个文件的最后一行。关于如何调整所有线条的任何建议?

3
为什么此命令不起作用:“ ps aux | grep xscreensaver”
我在Google上没有看到有关此的任何搜索,因此我想问您: 我只是想在ssh会话中运行此命令,本地是Debian Wheezy KDE,远程是Fedora 21 Gnome: ps aux | grep xscreensaver 这是输出: bash: grep: command not found... 我以前从未见过,这是什么原因? 我仅几个小时就更新了系统,但是没有看到任何标记为要删除的软件包。系统上只有两个用户,只有我自己在该系统上安装或删除软件。 编辑#1 这是复制的命令和输出,请注意第二次不存在空格: [root@Hostname ~]# ps aux | grep xscreensaver bash: : command not found... [root@Hostname ~]# ps aux | grep xscreensaver bash: grep: command not found...

4
使用grep匹配具有固定数量字符的字符串
我正在尝试使用查找所有6字母词grep。我目前有这个: grep "^.\{6\}$" myfile.txt 但是,我发现我也得到了如下结果:étuis,étude。 我怀疑这与e以上文字中的符号有关。 我有什么办法可以确保不会发生这种情况? 谢谢你的帮助!

5
用grep查找确切的字符串
举例来说,我有一个带有许多电子邮件地址的大文本文件,使用bash我需要搜索/验证电子邮件是否存在(或不存在)。应该(仅)使用“锚”吗? grep '^user1@example.com' text_file 还是有更好的方法?我需要创建一个bash脚本,我想很安全。
9 grep 

1
grep --color添加ANSI代码ESC [K-这可以更改显示的文本
为什么grep会\e[K在其彩色输出中添加ANSI代码?我看不出要点,但显然开发人员可以。这是ANSI / VT100终端代码,用于“从当前光标位置清除行到行尾”。 在边缘情况下,grep会导致文本从终端显示中“消失”。例如: echo -e "ab\rc" echo -e "ab\rc" |grep --color=always "c" 简单的回显显示:cb,但是彩色显示显示:c 底层的编码文本是:echo -e 'ab\r\033[01;31m\033[Kc\033[m\033[K' 但是,没有\e[K代码,则 echo -e 'ab\r\033[01;31mc\033[m'可以正常工作! grep包含这些\e[K代码的原因是什么?我正在编写一个脚本,以允许覆盖第二遍着色,如:c=--color=always; ls $c /bin/gzip | grep $c 'z'。所以我需要理解为什么grep使用\e[K。
9 terminal  grep  colors 

1
grep不超过一定长度的单词
我正在寻找一种方法来grep这样的事情:i log for E M, i 1 f x i 0, I xi 1, 3 1,.仅基于字符数。 假设输出中的任何内容都不得超过三个字符。这个假设的单线看起来像是grep -v [:alnum:] > {3}。(除了我只是不知道如何用grep语法编写。)

5
在知道字符串的一部分的情况下查找字符串并返回字符串
例如,我有一个字符串 "Icecream123 AirplaneBCD CompanyTL1 ComputerYU1" 假设我知道我的字符串肯定包含子字符串IceCream,但我不知道它后面是什么。 在我的示例中,它可能是123,或者可能有所不同。 虽然我可以使用grep通过以下命令来检测字符串中是否存在“ Icecream”子字符串 echo $string | grep -oF 'Icecream'; 哪个会打印 Icecream 我想要一个命令来打印整个子字符串,在我的示例中是 Icecream123 当然,冰淇淋发生后的情况是随机的,并且事先未知,所以我不能做 $SUBSTRING=$(echo $string | grep -oF 'Icecream') $SUBSTRINGTRAIL=123 echo $SUBSTRING$SUBSTRINGTRAIL

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.