【发布时间】:2013-10-18 15:59:55
【问题描述】:
也许像 vi?
我的 perl 等价物是:
grep -Po '(?<=^.L.........\s).*(?=\s->\s)' rsync_itemized.log
查找所有符号链接修改并输出文件名部分。显然,我可以使用 awk:
awk '$1 ~ /^.L........./ { print $2 }' rsync_itemized.log
但我想知道 greps 本地正则表达式引擎是否支持它。
【问题讨论】:
-
显然不是,根据this,您可能已经看到了。
-
没见过,没有。我实际上使用 -P 选项编写了一些单元测试,但是由于 unittest 开始运行可能会从根文件系统中删除内容的测试,所以我切换到使用 chroot 作为软件将运行的环境。不幸的是,没有 perl 支持就没有 grep。所以我只是在寻找一种廉价的方法来改变我现有的表达方式,而不必改变太多。不过还是谢谢。
-
我明白了。你可以在chroot中安装东西吗?
ackgrep 显然会做前瞻。 -
并非微不足道,因为它是从其他地方构建的图像中解压缩的。我将使用
awk,因为我有可用的。 -
ack 专门设计为能够作为单个文本文件安装。您可以下载单个 Perl 程序并将其放在您想要的系统上的任何位置。详情请见beyondgrep.com/install。