我一直在使用 Linux env,最近迁移到了 solaris。不幸的是,我的 bash 脚本之一需要使用 grep
与 P
切换 [pcre 支持]。由于 Solaris 不支持 pcre
grep 的选项,我不得不找到另一个解决问题的方法。和 pcregrep
似乎有一个明显的循环错误和 sed
-r
选项不受支持!
希望使用perl
或 nawk
将解决solaris上的问题。
我还没用过perl
在我的脚本中,我不知道它的语法和标志。
既然是pcre
, 我相信一个 perl
脚本程序可以在几分钟内帮助我。它们应该匹配多行。
就效率而言,哪一个是更好的解决方案 awk
或 perl
解决方案 ?
感谢您的回复。
最佳答案
这些是一些 grep
至 perl
您可能需要的转换:grep -P PATTERN FILE(s)
---> perl -nle 'print if m/PATTERN/' FILE(s)
grep -Po PATTERN FILE(s)
---> perl -nle 'print "$1\n" while m/(PATTERN)/g' FILE(s)
如果 grep -P
,这就是我对您要查找的内容的猜测是不可能的。
关于perl - grep regex 到 perl 或 awk,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11778103/