草庐IT

REGEX_EXTRACT

全部标签

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--

regex - 测试正则表达式工具(Linux/ubuntu)

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于StackOverflow来说是偏离主题的,因为它们往往会吸引自以为是的答案和垃圾邮件。相反,describetheproblem以及迄今为止为解决该问题所做的工作。关闭8年前。Improvethisquestion我搜索了有关正则表达式测试/学习工具的问题,但人们通常建议使用基于Windows的解决方案。我为ubuntu找到了一个:redit。但是,我想知道是否有更好的工具来完成这项工作。所以,事不宜迟Q:Whatisthebesttoolfor

regex - 如何使 "grep"从文件中读取模式?

假设有一个大文本文件,我想只打印与某些模式不匹配的行。显然,我可以使用egrep-v'patter1|pattern2|pattern3。现在如果所有这些模式都在一个文本文件中怎么办?使egrep从文件中读取模式的最佳方法是什么? 最佳答案 grep-v-fpattern_file 关于regex-如何使"grep"从文件中读取模式?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions

regex - 在 Linux 中删除文件名中的空格

关闭。这个问题是off-topic.它目前不接受答案。想改进这个问题吗?Updatethequestion所以它是on-topic用于堆栈溢出。关闭9年前。Improvethisquestion我在不同的文件夹中有数百个jpg文件,如下所示:304775105_01.jpg304775105_03.jpg304775105_05.jpg304775105_07.jpg304775105_02.jpg304775105_04.jpg304775105_06.jpg基本上,我需要删除SPACES。我已经知道将空格更改为下划线的命令:$rename"s//_/g"*但在这种情况下我不需要下划