我需要用另一个字符替换文本文件中的特定字符。例如,将“E”替换为“A”:
Apple ice
→ApplA Ica
执行sed 's/E/A' < apple.txt > app.txt
时收到错误
无法解析函数
请帮忙!我需要使用Antscript自动执行此操作。
答案 0 :(得分:3)
您应该使用斜杠(sed
)终止/
命令,并且我想您要将E
的所有事件与A
进行交换}?然后,您必须为全局替换添加g
:
sed 's/E/A/g' app.txt
答案 1 :(得分:3)
sed 's/E/A/g' app.txt
。您错过了跟踪/
(g
表示所有事件),
答案 2 :(得分:1)
由于您处于Ant环境中,您可能根本不需要执行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
后:
ApplA icA
Appl s ic s