sed - 使用带有子字符串的 sed 命令来替换
问题描述
我正在寻找使用 sed 命令来替换子字符串值。
我有这样的文件
UNIT56712423MP000000R0990
此文件中的记录始终具有相同的长度。
我需要检查第 21 个字符是否为R
,然后将字符 13-14 从 替换MP
为GH
。
有没有办法通过 sed 命令实现这一点?
谢谢你的帮助。
解决方案
在 gnu sed 上试过
sed -E '/^\w{20}R\w{4}$/s/^(.{12})../\1GH/' <<<UNIT56712423MP000000R0990
推荐阅读
- typescript - 如何不使用打字稿复制代码?
- javascript - 纯 JavaScript - for 循环适用于元素 [0] 但不适用于元素 [i]
- postgresql - 使用 WAL 进行主从复制:Postgres uuid_generate_v4() 生成主键
- react-native - 为什么Android App在带有后退按钮React Native Navigation的应用程序中显示空白屏幕?
- c++ - 调用 clear() 后,vector 的元素仍然可以引用吗?
- vala - 使用 Vala 的默认应用程序打开文件?
- java - 使用 lambda 的可运行线程
- docker - Docker:带有 ssl 后端的 nginx-proxy
- zsh - 递归地在多个目录上扩展 Zsh 文件名
- c++ - C++ 元组类型到函数参数类型