Linux Bash,用tr改变整个单词
我一直在寻找一个解决我的问题的方法,但一直没有找到。我必须使用linuxLinux Bash,用tr改变整个单词,linux,bash,terminal,command,tr,Linux,Bash,Terminal,Command,Tr,我一直在寻找一个解决我的问题的方法,但一直没有找到。我必须使用linuxtr-命令来更改整个单词。 例如,“ala,has”到“ala,has”。 它应该是这样工作的,当我输入“阿拉有一只猫”-“阿拉有一只猫” 但每当我把它送到终点站时,我得到的是:“阿拉有一只猫”。你知道如何使用tr来更改单词的整个部分吗 另外,“alanna没有养猫”应该改为“alanna没有养猫”。恐怕这在tr中是不可能的,因为tr不能限制替换。您收到ala有一个cat,因为首先a替换为a,然后再次替换为a。使用tr时,它
tr
-命令来更改整个单词。
例如,“ala,has”到“ala,has”。它应该是这样工作的,当我输入“阿拉有一只猫”-“阿拉有一只猫” 但每当我把它送到终点站时,我得到的是:“阿拉有一只猫”。你知道如何使用
tr
来更改单词的整个部分吗
另外,“alanna没有养猫”应该改为“alanna没有养猫”。恐怕这在
tr
中是不可能的,因为tr
不能限制替换。您收到ala有一个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
-comand.tr
将把一个集合翻译成另一个集合,因此您需要其他的东西,例如sed
,我知道,但这是我老师给的任务。有什么想法吗?@heemayl没错,我就是这么想的。好的,非常感谢你的例子。我想我会去问我的老师他到底在想什么。@ninigi是的,因为它看起来确实很奇怪。它是否被指定使用tr
?老实说,我不确定了。