Questions tagged «grep»

grep是Unix命令行实用程序,它在输入中搜索匹配(或不匹配)正则表达式的行并打印结果。使用此标签可查询有关如何使用grep功能,如何编写可与grep一起使用的正则表达式以及一般用法的问题。因为grep现在可以在类似Unix的环境中使用(例如Windows上的Cygwin),所以您也可以使用此标记来解决兼容性问题以及版本和软件环境之间的差异。

2
grep - 匹配除了给定文件类型之外的任何内容
我想清理我的音乐库,所以当Rhythmbox在一些WMA-Relic上捣乱时,我不再能从Rhythmbox那里“搜索合适的插件”消息。 我有工具,但现在我想查找这些文件。我可以使用ls获取所有音乐文件的列表,然后将其传递给grep并捕获所有类似的mp3: ls */* | grep \.mp3$ 现在我想过滤掉所有的MP3,我该怎么做?我和^和〜一起搞砸了很多!但我似乎永远不会到达任何地方。我知道有一些WMA在那里,但为什么我应该在我有一台计算机xD时手动搜索 有人可以帮忙吗?
5 linux  grep  regex 

1
通过行前缀拆分文件
我的数据如下: 60 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 61 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 62 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 62 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 62 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 62 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 62 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 62 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 62 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 62 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 62 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 62 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 62 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 62 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 63 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 63 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 63 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 63 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 63 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 63 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 63 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 63 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 63 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 63 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 63 …

3
Shell命令用于查找包含一个单词但不包含第二个单词的文件
所有 我的linux机器中有以下两个文件,我想查找包含“word1”且不包含“word99”的文件 file1.txt word1 word2 word3 word4 word5 file2.txt word1 word2 word3 word99 我一直在使用下面的命令来处理包含“word1”的文件,但是找不到任何关于如何修改它以获取包含“word1”而不是“word99”的文件名的信息 find . -name '*.*' -exec grep -r 'word1' {} \; -print > output.txt 任何指针都会有所帮助。 谢谢 沙
4 linux  shell  grep  exclude 

7
Bash运算符<,>,| 和grep / kill
作为练习,我想使用基本的bash原则通过命令行终止一个进程但是我遇到了一些我不理解的错误: ps -A | grep nautilus | egrep -o '[0-9]{4,5}' | kill 1)它不起作用 如果我试试 ps -A | grep nautilus | egrep -o '[0-9]{4,5}' &gt; kill 2)也不起作用 3)如果我这不 (..) egrep '\d' (...)应该与[0-9]相同? 4)我有什么方法可以做这样的事情: kill &lt; (greps (...) )
3 linux  bash  grep  kill 

2
如何在行尾用反斜杠格式化一行?
我想尝试在行尾用反斜杠格作一行,如: abc\ def ghij ... 我希望它可以点击“abc”这一行。我尝试了下面的命令,但它们没有用。 grep -EHn "\\$" test_file grep -PHn "\\$" test_file 我该如何解决这个问题?我只是不知道grep中转义字符的逻辑。表达确实在vim中起作用。
3 linux  regex  grep 


2
搜索文件比点击更快的方式?
有没有办法从控制台索引文件或文件树,以便比普通的grepping更快地搜索子字符串? 我不一定需要支持正则表达式,尽管不区分大小写会很好。 我正在寻找一个类似于它的简单控制台实用程序 locate/slocate/mlocate 但是,不是文件名,而是在可配置的位置使用特定的mime类型索引文件内容。 到目前为止,我发现的唯一“快于grep”的解决方案是 fgrep 约束于ANSI而不是UTF-8(来自 https://stackoverflow.com/a/13913220/191246 ) - 虽然它提供了令人印象深刻的加速,但它对于大文件来说仍然太慢。我想知道是否有一些“便宜”的方法来创建索引并搜索它。 我正在考虑 嗖 作为一种选择,但需要额外的编码。 我对系统级索引应用程序不感兴趣,比如聚光灯在mac或它们的linux对应物上,因为我正在寻找文件或子文件夹级别的粒度。

1
Grep Whitespace跨越多行
在一堆文本文件(.vb)中给出以下内容: Partial Class [A-Za-z0-9_] Inherits System.Web.UI.Page End Class 我正在尝试grep查找具有此基本空代码文件的文件,以生成这些文件的列表,并删除它们。 grep "Inherits System.Web.UI.Page[:space:]*End Class" -r 但是上面的grep不起作用......在阅读了POSIX字符类和grep手册页后,我很难过
2 regex  grep 

2
ack +像grep这样的工具(问题)
我使用ack工具在文件系统中查找字符串或IP地址 但请看以下内容 为什么ack在/ etc / sysconfig / *下找不到IP = 10.45.45.130 在uoo文件中的网络目录下存在IP = 1:10.45.45.130 利迪娅 ./ack -r 10.45.45.130 /etc/sysconfig/* &lt;not get anything?&gt; ./ack -r 10.45.45.130 /etc/sysconfig/network/* /etc/sysconfig/network/uoo 1:10.45.45.130 uoo文件的例子 more /etc/sysconfig/network/uoo 10.45.45.130
2 grep 

2
读取文件和管道到grep
想知道是否有人可以帮助我,我对bash非常生疏,似乎有点陷入僵局。 我将一个字符串列表存储在一个文件中,并希望读取该文件并将每行返回到grep,然后在目录中搜索包含该字符串的文件。 初步尝试: cat filename | grep -lr * 但是这不会返回任何输出。 谁能给我一些关于最佳方法的指示?
2 linux  grep 

2
grep和sed with tail from tail -f似乎是缓存
我正在尝试使用一个工作系统来监控特殊日志。我通常只想要一个非常具体的模式,我提取使用grep和管道tail -f。我注意到grep不会输出所有内容,而是保留一些行缓冲。我想如果你有一个输出所有东西然后终止并关闭流的管道,这是有道理的。 但是,tail -f这对我来说不起作用。 出现同样的问题sed。 这是我想要使用的示例命令: clear &amp;&amp; tail -F -n1000 /var/log/fail2ban.log | grep 'WARNING.*Ban' | sed s/'fail2ban.actions: WARNING '//g | grep -E --color 'ssh-iptables-perma|$' 举个例子: 上面命令的最后一行是这样的: 2015-05-04 11:17:24,551 [ssh-iptables] Ban x.x.x.x 并使用此命令: clear &amp;&amp; tail -F -n1000 /var/log/fail2ban.log | grep 'WARNING.*Ban' | sed s/'fail2ban.actions: WARNING '//g 最后一行是这样的: 2015-05-04 19:45:17,615 …

1
将文件从远程服务器写入本地目录?
我想对远程服务器上的日志文件执行一些grep-magic,并将结果写入计算机上的本地文件。 有没有比我的3步解决方案更简单的方法: grep在远程服务器上执行-magic和write文件 从远程复制到本地 scp 删除远程文件
2 unix  grep  remote  scp 

2
在一次点击中搜索压缩的*和*非压缩文件
我有一个文件夹,其中包含我要搜索的压缩和解压缩日志文件。 我可以搜索非压缩的 grep -r "my-search-string" /path/to/folder 并使用搜索压缩文件 find /path/to/folder -name "*.gz" -exec zcat "{}" + | grep "my-search-string" 是否有一个单行程,我可以用来搜索所有压缩和解压缩的文件/path/to/folder? 谢谢,马克斯
2 linux  grep  zip  gzip 


1
Windows gvim-使用Unix grep
使用Windows10。我已经安装了gvim。我也有git,并且我的PATH(C:\ program files(x86)\ Git \ bin)中有git's bin,这会将git的gnu grep放在我的路径中,以便可以在命令外壳中使用它。 &gt; grep -V grep (GNU grep) 2.4.2 但是,当我使用vim中的grep时- :grep -ir 'something' . 它在Windows中使用FINDSTR,效果不佳。 如何使gvim使用GNU grep?我尝试在git bin目录前添加到我的vim路径,但这没有帮助。
2 windows  vim  grep  gvim 

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.