使用shell将一行中的第一个单词替换为另一个单词

使用shell将一行中的第一个单词替换为另一个单词,shell,Shell,在我的文件(file1.txt)中,我有一行需要用另一行替换第一个单词 centralbank=14.4.0.4.SAMPLE=xyz/plugins/centralbank/patch144004 如果您看到上述行,您可以看到,centralbank正在该行中重复。我想用中央银行国际公司替换第一家中央银行 我的输出应该是 Central Bank Int'l corp=14.4.0.4.SAMPLE=xyz/plugins/clientpatch/centralbank/patch14400

在我的文件(file1.txt)中,我有一行需要用另一行替换第一个单词

centralbank=14.4.0.4.SAMPLE=xyz/plugins/centralbank/patch144004
如果您看到上述行,您可以看到,
centralbank
正在该行中重复。我想用
中央银行国际公司
替换第一家
中央银行

我的输出应该是

Central Bank Int'l corp=14.4.0.4.SAMPLE=xyz/plugins/clientpatch/centralbank/patch144004
我试过下面的命令。但是,由于中央银行国际公司的单引号,它没有给出

给我我想要的输出

 cat file1.txt | awk '{sub(/centralbank/,"Central Bank Int'l Corp")}1'

谁能帮我一下吗。感谢您的帮助

您可以使用此
sed
而不使用
g
(全局)标志:

awk
中使用相同的概念:

awk -v r="Central Bank Int'l corp" '{sub(/centralbank/, r)} 1' <<< "$s"

要在单引号外壳字符串中插入单引号,可以使用Hii Anubhava。谢谢你的快速回复。你的命令给了我想要的输出。
Central Bank Int'l corp=14.4.0.4.SAMPLE=xyz/plugins/centralbank/patch144004
awk -v r="Central Bank Int'l corp" '{sub(/centralbank/, r)} 1' <<< "$s"
Central Bank Int'l corp=14.4.0.4.SAMPLE=xyz/plugins/centralbank/patch144004