我需要创建一个脚本,使用sed替换带有大写元音的小写元音和带有情人元音的大写元音。
例如,如果我有字符串“This Is a lOng String”,结果应为“ThIs is a Long StrIng”。
我尝试了类似sed 's/a/A/g ; s/A/a/g'
之类的内容,但这不会改变a-> A和A-> a它只会替换小写的..
我知道有类似的问题,但我无法让它工作,所以我想我会问你..
答案 0 :(得分:5)
使用sed
的{{1}}命令进行音译。
y
sed 'y/aeiouAEIOU/AEIOUaeiou/'
答案 1 :(得分:3)
为什么限制自己使用sed?我的盒子快速测试了:
$ tr 'aeiouAEIOU' 'AEIOUaeiou'
运行速度比同等的sed命令快6倍。 (并且将输出重定向到位桶,tr快135倍,输出到管道的速度快了38.5倍。当然,这些是单个测试基准并且完全不准确,但tr是正确的工具。)< / p>
答案 2 :(得分:2)
sed 'y/aeiouAEIOU/AEIOUaeiou/'
答案 3 :(得分:1)
实现这一点,从低到高:
sed 'y/aeiou/AEIOU/' inputfile.txt > outputfile.txt