草庐IT

menta-regex

全部标签

regex - 你如何 stash .git 项目目录?

现在我已经设置了nginx,我需要能够stash我的.git目录。我需要什么样的重写才能停止窥探?它会到达server{}或http{}block的哪个位置? 最佳答案 http{server{location~/\.git{denyall;}}}此location指令将拒绝访问任何子目录中的任何.git目录。注意:此位置block必须在您的主要位置block之前,以便可以先对其进行评估。 关于regex-你如何stash.git项目目录?,我们在StackOverflow上找到一个类似

regex - 我如何使用 sed 搜索和替换而不包含一组字符?

在下面的sed命令中你好我需要在第二组括号代码中不接受以下组词:IncTheLtdLLC它将打破list.txt中的以下数据,使每个公司名称在一行中,公司名称在逗号之后,但有时“Inc”、“Ltd”、“LLC”和“The”跟在公司后面.这是非常高级的正则表达式,但我似乎无法理解。sed-re's/([a-zA-Z.]),(Needcodehere)/\1\n\2/g'list.txtlist.txt有以下数据:ElectronicArts,Inc.,ElectronicArtsLtd.ActivisionPublishing,Inc.,aktronicSoftware&Services

regex - grep 的管道不适用于尾部?

这个问题在这里已经有了答案:Howto'grep'acontinuousstream?(13个答案)关闭8年前。我正在尝试通过检查日志来调试一个场景,这是我的命令tail-feclipse.log|grep'enimation'|grep-i'tap'基本上我想做的是,在所有的线条中,我正在打印带有动画的线条,然后在所有的动画中,我想看到带有“点击”的动画。这是返回空结果的示例数据*******enimationerror*********TapExpand*******enimationerror*********TapShrink这将返回空结果。如果我运行这个命令tail-fecl

regex - 为什么 grep 不能在这种模式下使用冒号?

我知道冒号:应该是文字,所以我不清楚为什么grep匹配所有行。这是一个名为“test”的文件:cattest123|44444546|4444666666|56787777777|7890675::1我需要将行与::1匹配。当然,实际情况比较复杂,不能简单的搜索“::1”。我尝试了很多迭代,比如grep-E'^[0-9]|[0-9]:'testgrep-E'^[0-9]|[0-9]::1'test但他们返回所有行:123|44444546|4444666666|56787777777|7890675::1我希望只匹配最后一行。知道这是为什么吗??这是GNU/Linuxbash。谢谢!

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'?谢谢。此外,当

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

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