草庐IT

REGEX_EXTRACT

全部标签

regex - grep -E {,1} 显示出现次数超过 1 次的结果

我一直在想办法找出只有N个字符出现的行。[root@exampleDIR]#grep-E"6{,1}"test.txt654366256668686866661161我想要的是让grep打印出以下内容:[root@exampleDIR]#grep-E"6{,1}"test.txt65431161我错过了什么? 最佳答案 使用awk我会:$awk'/6/&&!/6.*6/'file65431161它翻译成grep就像:$grep6file|grep-v6.*665431161编辑:@Sundeep使用6作为字段分隔符并计算字段的聪明想

regex - 用 sed 剪切最后一列的意外结果

echo'60test'|sed-r's/(.*)\s+[^\s]+$/\1/'结果:60test最后一列没有被剪切。但它与配合得很好echo'60home'|sed-r's/(.*)\s+[^\s]+$/\1/'结果:60为什么? 最佳答案 [^\s]+表示不是反斜杠或s重复1次或多次并且test包含s而home不匹配,因此后者匹配正则表达式而前者不匹配。您应该使用其中任何一个来匹配非空格:$echo'60test'|sed-r's/(.*)\s+\S+$/\1/'60$echo'60test'|sed-r's/(.*)\s+[^

regex - 正则表达式问题

可能这是新手问题,但我必须问!一般来说,我理解正则表达式,但我不明白,为什么这个:^.{8}[[:blank:]]{2}在这条线上工作:prelink:/lib/libkeyutils-1.2.so:atleastoneoffile'sdependencieshaschangedsinceprelinking在这个grep命令中:echo"prelink:/lib/libkeyutils-1.2.so:atleastoneoffile'sdependencieshaschangedsinceprelinking"|grep-v'^.\{8\}[[:blank:]]\{2\}'哪里:Th

regex - 在 Bash 中提取两个字符之间的字符串

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。这个问题似乎是题外话,因为它缺乏足够的信息来诊断问题。更详细地描述您的问题或includeaminimalexample在问题本身。关闭8年前。Improvethisquestion我需要帮助在Bash中提取“@”符号和空格“”之间的字符串。我正在使用PythonTwitter工具,输出是这样的:4304382292007403522014-02-0314:30:45CST@SawBlastt@WereAutomatic101formetojoinaswell我需要提取两个字符串:SawBlasttW

regex - 如何在找到与 sed 的匹配项后仅追加一行?

我想在php文件中的port行之后附加'maildomain'。我真的很想用这个solution因为这似乎是最干净和非常清晰的所以我做了sed-i"350,/port/a\'maildomain\'"file.php但结果是这样的:351:'maildomain'352:353:'maildomain'354:...358:blablablaportblabla359:'maildomain'如您所见,它从第350行开始交替添加'maildomain',直到找到最初位于第354行的port。我如何修改上面的sed命令以在port之后而不是之前添加'maildomain'?谢谢。此外,当

linux - CURL 进度条 : How to pipe and extract numbers only using grep?

这是我目前所拥有的:[my1@grafhome]$curl-#-of1.flv'http://osr.com/f1.flv'|grep-o'*[0-9]*'#######################################################################100.0%我希望使用grep并仅从CURL输出的进度条中提取百分比。我认为我的正则表达式不正确,我也不确定这个grep是否会影响持续更新的百分比?我想做的基本上是让CURL只给我百分比数字作为输出,没有别的。感谢您的帮助。 最佳答案 使用

regex - Linux:如何仅使用 ls 列出所有文件/目录

这是大学里的一道题。问题是:列出testfiles文件夹中没有扩展名的所有文件/目录。给出的正确答案是这样的:lstestfiles|grep-v"\."现在,为了理解ls正则表达式的工作原理,有人可以向我解释仅使用ls会怎样吗?此外,如果有任何示例也使用美元符号$,以明确声明名称以.[a-z]结尾,我将不胜感激。任何帮助,非常感谢。还有一点!这个问题的另一个答案是使用:lstestfiles|grep"^[^.]*$"那是怎么读的?我这样读^[^.]*$:^->doesnotcontain[^.]->startswithadot*->repeatedzeroormoretimes$-

regex - sed 不使用变量

我正在尝试编译一个从Internet下载的大型项目,并且我有一个运行configure、make和makeinstall的自定义脚本。问题是我想传递一些兼容性标志,但该项目使用不识别LDFLAGS的libtool,我必须找到另一种方法来传递我的兼容性标志。所以在运行configure后的脚本中,我的代码如下所示:COMPATFLAG="-gcc-name=/usr/local/gcc-4.2.1/bin/gcc"sed-i"s/CC-shared/CC-shared${COMPATFLAG}/g"libtool${COMPATFLAG}可能会根据正在编译的平台获得不同的值,因此我无法将

regex - Sed - 删除字符串前的 x 个字符

我有一个txt文件,我想删除特定字符串之前的x个字符示例:52.451878252foo845.851878212foo98.444854655foo458.344854656foo我想删除字符串'foo'前的8个字符,以便得到这个:52.45foo845.66foo98.44foo458.66foo我应该如何使用sed命令(或其他命令)?谢谢你:) 最佳答案 给你:sed-e's/........foo/foo/g'file.txt或等效地:sed-e's/.\{8\}foo/foo/g'file.txt甚至:sed-e's/.\

regex - 如何使用 AWK 从字符串中删除所有小写字符?

请注意,我需要AWK中的这个答案。如何从某些awk变量中删除所有小写字符?我试着调用gsub:gsub(/[a-z]+/,"",varName);不幸的是,这会删除整个字符串,就好像awk无法区分小写和大写一样。是否有一些我不知道的可以使用的正则表达式?编辑:确认,awk看不出小写和大写字符之间的区别。示例1(将在此处使用字母f以便更好地理解结果):varName="CHRFProtocol";gsub(/[a-z]/,"f",varName);结果:ffffffffffff示例2(同样,此处将使用字母f以便更好地理解结果):varName="CHRFProtocol";gsub(/[