我一直在寻找解决问题的方法已经有一段时间了,而且无法找到它。我必须使用linux tr
- 命令来改变整个单词。
例如," ala,有"到" Ala,Has"。
它应该像那样工作,当我输入" ala有一只猫" - " Ala有一只猫"。
但是每当我把它传递到终端时我得到的是:" ala有一只猫"。有关如何使用tr
更改单词的整个部分的任何想法?
另外"阿兰娜还没有一只猫#34;应该换成" Alanna Hasn没有猫#34;。
答案 0 :(得分:0)
我担心tr
无法做到这一点,因为tr
无法限制替换。您收到ala Has a cat
,因为第一个a
已替换为A
,然后再次被a
替换。使用tr
,它可以看起来像:
echo "ala has a cat" | tr -ts "'[a]' '[h]'" "'[A]' '[H]'"
AlA HAs A cAt
但正如我所说,tr
会替换或删除多个字符。有关更多信息,请查看Linux中的手册页man tr
。
但是,你想要的是sed
。这是它:
echo "ala has a cat" | sed -e 's/a/A/' -e 's/h/H/'
Ala Has a cat
-e
选项会添加更多sed
- 操作数,类似于逻辑AND。最后添加/g
将等同于tr
- 命令。