草庐IT

menta-regex

全部标签

regex - 使用 grep 匹配 md5 哈希

如何将md5哈希值与grep命令相匹配?在php中,我过去使用过这种正则表达式模式:/^[0-9a-f]{32}$/i但我试过了:grep'/^[0-9a-f]{32}$/i'filenamegrep'[0-9a-f]{32}$/'filenamegrep'[0-9a-f]{32}'filename和其他变体,但我没有得到任何输出,而且我确定该文件包含md5哈希。 最佳答案 你想要这个:grep-e"[0-9a-f]\{32\}"filename或者更像是,根据您的文件格式描述,这个:grep-e":[0-9a-f]\{32\}"f

regex - [A-Z] 是什么意思 [A-Za-z]?

一段时间以来,我一直注意到,在我至少使用的一些基于Unix的系统上,ls[A-Z]*一直在给我预期来自的结果>ls[A-Za-z]*,让我无法轻松获得仅以大写字母开头的该死文件的列表。我刚刚用grep遇到了同样的事情,在我最终使用grep-P之前,我无法让它停止将小写字母与[A-Z]匹配获取Perl正则表达式。所以我有一些相关的问题:这种愚蠢行为是什么时候开始的?谁该负责并需要受到惩罚?为什么???对于ls和grep这两种情况,是否有一些相当简单的解决方法?(例如,尝试grep--no-ignore-case是徒劳的。grep-P不是一个很好的解决方法,因为它处于实验性功能状态。)

regex - 如何在 wget 中使用正则表达式来拒绝文件?

我正在尝试使用wget工具下载网站的内容。我使用-R选项来拒绝某些文件类型。但还有一些其他文件我不想下载。这些文件的名称如下,没有任何扩展名。string-ID例如:newsbrief-02我如何告诉wget不要下载这些文件(名称以指定字符串开头的文件)? 最佳答案 因为(显然)v1.14wget接受正则表达式:--reject-regex和--accept-regex(使用--regex-typeposix默认情况下,如果使用libpcre支持编译,可以设置为pcre。请注意,您似乎只能在每次wget调用中使用一次--reject

regex - 使用带有 bash 或命令行的正则表达式从文本文件中提取电子邮件地址

我怎样才能使用正则表达式从一个包含多行类似于此的文件中仅grep出电子邮件地址。(准确地说是sql转储)不幸的是,此时我不能返回并转储电子邮件列。示例数据:62372,35896,1,cgreen,Chad,Green,cgreen@blah.com,123456789,0,,,,,,,,,3,Blah,,2013-05-0217:42:31.659574,164842,,0,0我试过了,但是没用:grep-o'[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}'file.csv 最佳答案 如果你仍然想走g

regex - 如何在文件夹中的xml文件中grep一个词

我知道我可以使用grep在这样的文件夹中的所有文件中查找单词grep-rncore.但我的当前目录有很多子目录,我只想搜索当前目录及其所有子目录中存在的所有xml文件。我该怎么做?我试过了grep-rncore*.xml//Doesnotwork但它只搜索当前目录中的xml文件。它不会以递归方式执行。 最佳答案 试试--include选项grep-R--include="*.xml""pattern"/path/to/dir引用:GrepIncludeOnly*.txtFilePatternWhenRunningRecursiveM

regex - sed -E 和 sed -e 有什么区别

我正在处理一些旧代码,我发现我曾经使用过sed-E's/findText/replaceWith/g'#findTextwouldcontainaregex但我现在试试sed-e's/findText/replaceWith/g'它似乎在做同样的事情,是吗?我有点记得我这样做是有原因的,但我不记得了,做“mansed”并没有帮助,因为他们没有任何关于-Eonly-e的东西,这没有多大意义。-e,--expression=scriptAppendtheeditingcommandsinscripttotheendoftheeditingcommandscript.scriptmaycon

regex - 在 linux 目录中查找与模式匹配的文件数

我是Linux新手。我在linux中有一个目录,其中包含大约250,000个文件我需要找到与模式匹配的文件数。我尝试使用以下命令:ls-120061101-20131101_kh5x7tte9n_2010_*|wc-l我收到以下错误信息:-bash:/bin/ls:Argumentlisttoolong0请帮忙。提前致谢 最佳答案 为此使用find可能会更好:find.-name"pattern_*"-printf'.'|wc-m在您的具体情况下:find.-maxdepth1-name"20061101-20131101_kh5x

regex - Bash - 如何将每一行放在引号内

我想把每一行都放在引号内,比如:abcdefghijklmnopqrst转换为:"abcdefg""hijklmn""opqrst"如何在Bashshell脚本中执行此操作? 最佳答案 使用awkawk'{print"\""$0"\""}'inputfile使用纯bashwhilereadFOO;doecho-e"\"$FOO\""done其中inputfile将是一个包含不带引号的行的文件。如果您的文件有空行,awk绝对是最佳选择:awk'NF{print"\""$0"\""}'inputfileNF告诉awk仅当字段数大于零(行

regex - 从查找中排除文件类型的正则表达式

在linux中使用find命令时,可以添加一个-regex标志,使用emacsregualr表达式进行匹配。我想查找除.jar文件和.ear文件之外的所有文件。这种情况下的正则表达式是什么?谢谢 最佳答案 这里不需要正则表达式。您可以将find与-name和-not选项一起使用:find.-not-name"*.jar"-not-name"*.ear"上面的一个更简洁(但可读性较差)的版本是:find.!\(-name"*.jar"-o-name"*.ear"\) 关于regex-从查找

regex - 使用 sed 匹配模式并从该行删除到文件末尾

我正在尝试匹配来自管道输入和/或文件的模式,然后从匹配的行中删除到文件末尾,包括在内。我到处寻找,但似乎找不到适合我需要的表达方式。下面的表达式允许我删除到流的开头,包括匹配的模式:sed-e'1,/Files:/d'给定一些示例数据:BlahblahblahFoobarfoofooFiles:somefiles.tar.gz123somefiles.tar.gz123-----THISSTUFFISUSELESS-----BLEHBLEHBLEHBLEHBLEHBLEH运行上面的表达式会产生:Files:somefiles.tar.gz123somefiles.tar.gz123--