shell - 使用 shell 将一行中的第一个单词替换为另一个单词
问题描述
在我的文件(file1.txt)中,我有一行需要将第一个单词替换为另一个单词。
centralbank=14.4.0.4.SAMPLE=xyz/plugins/centralbank/patch144004
如果您看到上面的行,您可以看到centralbank
在该行中重复。我想将第一个替换centralbank
为Central Bank Int'l corp
.
我的输出应该是
Central Bank Int'l corp=14.4.0.4.SAMPLE=xyz/plugins/clientpatch/centralbank/patch144004
我尝试了以下命令。但是,由于其中的单引号Cental Bank Int'l Corp
没有给出
我想要的输出
cat file1.txt | awk '{sub(/centralbank/,"Central Bank Int'l Corp")}1'
有人可以帮我解决这个问题。帮助将不胜感激
解决方案
您可以在sed
没有g
(全局)标志的情况下使用它:
s='centralbank=14.4.0.4.SAMPLE=xyz/plugins/centralbank/patch144004'
sed "s/centralbank/Central Bank Int'l corp/" <<< "$s"
Central Bank Int'l corp=14.4.0.4.SAMPLE=xyz/plugins/centralbank/patch144004
在中使用相同的概念awk
:
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
推荐阅读
- c# - Docker-compose 从另一个容器访问 MySQL 容器
- python - 没有模块名称'configparser' | PyInstaller
- python - python模块,在模块中调用主类
- java - Android Dark Mode/Light Mode - android微调器下拉弹出背景颜色
- c - C循环双向链表,静态头初始化下一个/上一个指向静态头地址的指针
- python - 因式分解,请帮我看看d出了什么问题,我是刚学习的新手
- javascript - 如何使用 NodeJS 串行端口向 Arduino 串行写入多个数据
- jquery - 如何使用html函数缩短重复代码并在jquery中返回标签
- csv - 上传的 CSV 文件将日期列显示为字符串,如何转换为日期以供 AutoAI 使用?
- node.js - 在 Node js 的 MIDI 事件侦听器中发送 OSC 或 MQTT 消息时代码非常慢