2011-04-12 43 views

回答

1

既然你在螞蟻的環境中,你可能並不需要執行SED所有,而是使用複製任務與過濾,或ReplaceRegExp任務。

<?xml version="1.0" encoding="UTF-8"?> 
<project> 
    <replaceregexp file="apple.txt" flags="g" match="e" replace="A"/> 
</project> 

這改變了在地方文件:

$ cat apple.txt 
Apple ice 
$ 
$ ant 
Buildfile: build.xml 

BUILD SUCCESSFUL 
Total time: 0 seconds 
$ 
$ cat apple.txt 
ApplA icA 

你舉的例子是與怪的情況下(A | A,E | E)。我會認爲這是錯字。

追問:要聲明編碼...

<?xml version="1.0" encoding="utf-8"?> 
<project> 
    <replaceregexp file="apple.txt" encoding="utf-8" flags="g" match="Á" replace=" "/> 
</project> 

我成功地測試了這一點。之前:

​​

後:

ApplA icA 
Appl s ic s 
+0

謝謝Sudocode它完美的工作! – trilawney 2011-04-14 06:13:32

+0

但試圖將特殊字符替換爲另一個特殊字符時,會顯示錯誤: 2字節utf-8序列的無效字節2。 這是使用編碼的問題嗎? – trilawney 2011-04-14 06:14:41

+0

當試圖用空格替換A銳角。 – trilawney 2011-04-14 07:05:18

3

你應該以斜槓(/)終止您的sed命令,我想你想與A交換E所有出現次數?然後,你必須添加一個g爲全局替換:

sed 's/E/A/g' app.txt 
+0

+1。 20秒更快:) – khachik 2011-04-12 14:38:24

+0

謝謝Khachik !!!! – trilawney 2011-04-14 06:13:50

3

sed 's/E/A/g' app.txt。你錯過了尾隨/g意味着所有實例),

相關問題