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