0
在一些PHP文件中,我想替换"?>\s\t\n\EOF"
。 我测试这个搜索使用地方发生这个问题的所有文件:如何替换文件中的某些字符和EOF
ack "\?\>[\s\n\t]+\z"
我拿的结果,但我想只有?>EOF
替换此。 我用“sed”测试另一个命令:
sed 's/?>[\n\t\s]+\z/?>/'
你有一些提示吗?
例如:
?>
在一些PHP文件中,我想替换"?>\s\t\n\EOF"
。 我测试这个搜索使用地方发生这个问题的所有文件:如何替换文件中的某些字符和EOF
ack "\?\>[\s\n\t]+\z"
我拿的结果,但我想只有?>EOF
替换此。 我用“sed”测试另一个命令:
sed 's/?>[\n\t\s]+\z/?>/'
你有一些提示吗?
例如:
?>
ACK是基于Perl的,和sed不承认之类的东西\ž。使用Perl:
perl -pe 's/\?\>[\s\n\t]+\z/?>\n/'
此外,\ z是不是EOF,而仅仅是结束串的,所以\ Z ^将匹配每一行的末尾。如果您只想在文件末尾匹配,则需要使用\ z以外的内容。
好的谢谢,我继续我的研究 – Herve 2012-04-06 06:55:47
你需要解释你想要做得更清楚。我怀疑你可能试图去除包含PHP的关闭标记的文件的最后一行之后的尾随空白,制表符和换行符,但不清楚。你能展示一个你得到的输入文件的例子(最小例子中可能有4行)和你想要的输出。至于提示,大多数版本的'sed'默认都不识别Perl正则表达式;有些人将它们作为选项。 – 2012-04-05 14:34:35
应该是什么意思? What \ z? – 2012-04-05 15:08:46
\ s是空格,\ z是EOF – Herve 2012-04-05 15:16:47