草庐IT

grepping

全部标签

regex - 负向后断言正则表达式与 grep -P 有意想不到的结果

我正在测试以下否定的回顾断言,我想了解结果:echo"foofoofoo"|grep-Po'(?打印出来foofoofoo我原以为只有前两个foo会被打印出来,'echofoofoofoo'而不是第三个,因为我的断言应该意味着找到前面没有“foo”的“foo”。我错过了什么?为什么要匹配第三个foo?注意:grep-P表示将正则表达式解释为perl兼容的正则表达式。grep-o表示只打印出匹配的字符串。我的grep是2.5.1版本。 最佳答案 在对这个问题进行了大量讨论之后(已转移到聊天中),我得出的结论是我对lookbehindn

regex - 负向后断言正则表达式与 grep -P 有意想不到的结果

我正在测试以下否定的回顾断言,我想了解结果:echo"foofoofoo"|grep-Po'(?打印出来foofoofoo我原以为只有前两个foo会被打印出来,'echofoofoofoo'而不是第三个,因为我的断言应该意味着找到前面没有“foo”的“foo”。我错过了什么?为什么要匹配第三个foo?注意:grep-P表示将正则表达式解释为perl兼容的正则表达式。grep-o表示只打印出匹配的字符串。我的grep是2.5.1版本。 最佳答案 在对这个问题进行了大量讨论之后(已转移到聊天中),我得出的结论是我对lookbehindn

linux - Solaris 相当于 Linux 上 grep 的 -o 选项

我在SunSolaris上运行以下命令—它在Linux上运行正常但在SunSolaris上运行不正常:name="(WORD=(TCPIP=(PROTOCOL=TCP)(WORD=ALIAS_NAME)(PORT=10234))"echo$name|grep-o"(WORD=(TCPIP=(PROTOCOL=TCP)(WORD=ALIAS_NAME)(PORT=10234))"grep:illegaloption--oUsage:grep-hblcnsviwpatternfile...我的问题是SunSolaris上的哪个选项与Linux上的选项grep-o(匹配字符串捕获)执行相同的

linux - Solaris 相当于 Linux 上 grep 的 -o 选项

我在SunSolaris上运行以下命令—它在Linux上运行正常但在SunSolaris上运行不正常:name="(WORD=(TCPIP=(PROTOCOL=TCP)(WORD=ALIAS_NAME)(PORT=10234))"echo$name|grep-o"(WORD=(TCPIP=(PROTOCOL=TCP)(WORD=ALIAS_NAME)(PORT=10234))"grep:illegaloption--oUsage:grep-hblcnsviwpatternfile...我的问题是SunSolaris上的哪个选项与Linux上的选项grep-o(匹配字符串捕获)执行相同的

linux - grep 字符后面没有字符

我正在尝试打印文件中b后面没有e的行。我尝试使用否定前瞻,但它不起作用。grep'b(?!e)'filenamegrep'(?!e)b)'filenameegrep'b(?!e)'f3.txt当我运行这些命令时,没有任何显示,没有错误或其他任何内容。我也检查了其他人的类似帖子,但无法运行它。 最佳答案 grep-E'b([^e]|$)'文件名这应该匹配'b'后跟一个不是'e'的字符,或行尾的'b'。 关于linux-grep字符后面没有字符,我们在StackOverflow上找到一个类似

linux - grep 字符后面没有字符

我正在尝试打印文件中b后面没有e的行。我尝试使用否定前瞻,但它不起作用。grep'b(?!e)'filenamegrep'(?!e)b)'filenameegrep'b(?!e)'f3.txt当我运行这些命令时,没有任何显示,没有错误或其他任何内容。我也检查了其他人的类似帖子,但无法运行它。 最佳答案 grep-E'b([^e]|$)'文件名这应该匹配'b'后跟一个不是'e'的字符,或行尾的'b'。 关于linux-grep字符后面没有字符,我们在StackOverflow上找到一个类似

linux - 如何将生成的文件从一个 grep 传递传递到另一个传递,以便我只在第二次传递时 grep 通过子集?

我希望能够获取我在第一个grep语句中找到的文件,例如:grep-r生成文件*然后将在grep的那次传递中找到的文件传递给第二个grep,例如:grep{文件}'-lfoo'我该怎么做?我知道一定有办法。谢谢。 最佳答案 grep-lfirstmatch*|xargsgrepsecondmatch{} 关于linux-如何将生成的文件从一个grep传递传递到另一个传递,以便我只在第二次传递时grep通过子集?,我们在StackOverflow上找到一个类似的问题:

linux - 如何将生成的文件从一个 grep 传递传递到另一个传递,以便我只在第二次传递时 grep 通过子集?

我希望能够获取我在第一个grep语句中找到的文件,例如:grep-r生成文件*然后将在grep的那次传递中找到的文件传递给第二个grep,例如:grep{文件}'-lfoo'我该怎么做?我知道一定有办法。谢谢。 最佳答案 grep-lfirstmatch*|xargsgrepsecondmatch{} 关于linux-如何将生成的文件从一个grep传递传递到另一个传递,以便我只在第二次传递时grep通过子集?,我们在StackOverflow上找到一个类似的问题:

Java 运行时进程不会 "Grep"

我在我的java程序中从命令行执行一些命令,它似乎不允许我使用“grep”?我已经通过删除“grep”部分对此进行了测试,命令运行得很好!我的代码不起作用:StringserviceL="someService";Runtimert=Runtime.getRuntime();Processproc=rt.exec("chkconfig--list|grep"+serviceL);有效的代码:Runtimert=Runtime.getRuntime();Processproc=rt.exec("chkconfig--list");这是为什么?是否有某种正确的方法或解决方法?我知道我可以只

Java 运行时进程不会 "Grep"

我在我的java程序中从命令行执行一些命令,它似乎不允许我使用“grep”?我已经通过删除“grep”部分对此进行了测试,命令运行得很好!我的代码不起作用:StringserviceL="someService";Runtimert=Runtime.getRuntime();Processproc=rt.exec("chkconfig--list|grep"+serviceL);有效的代码:Runtimert=Runtime.getRuntime();Processproc=rt.exec("chkconfig--list");这是为什么?是否有某种正确的方法或解决方法?我知道我可以只