我一直在寻找解决问题的方法,但找不到。我必须使用linux tr
-命令来更改整个单词。例如,"ala,has"到"ala,has"
它应该是这样工作的,当我键入"阿拉有一只猫"-"阿拉有猫"。
但每当我把它传给终点站时,我得到的是:"阿拉有一只猫"。你知道如何用tr
改变单词的整个部分吗?
"阿兰娜没有猫"也应该改为"阿兰娜没猫"。
恐怕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
命令。