string - 用文件中的变量替换字符串
问题描述
我有几行的文件,例如:
) extent size 256 next size 512 lock mode row;
) extent size 512 next size 512 lock mode row;
) extent size 256 next size 512 lock mode row;
) extent size 512 next size 512 lock mode row;
) extent size 256 next size 512 lock mode row;
) extent size 512 next size 512 lock mode row;
) extent size 512000 next size 48 lock mode row;
) extent size 512 next size 512 lock mode row;
我想将所有这些行更改为:
) extent size 16 next size 16 lock mode row;
我可以得到所有:
cat file | grep "extent size"
但我不知道如何更改变量文本
谢谢你的帮助,
SP
解决方案
您想将所有数字块替换为包含extent size
.
您可以使用以下sed
解决方案:
val=16;
sed "/extent size/{s/[0-9]\{1,\}/$val/g}" file > newfile
细节
/extent size/
- 查找包含此文本的行{s/[0-9]\{1,\}/$val/g}
- 在找到的行上,用val
内容替换一个或多个数字(假设它将是一个简单的数字,不需要额外的处理)。
请参阅在线sed
演示。
推荐阅读
- angular - 如何解析来自角度 JSON 响应的 HTML 内容
- javascript - 如何安排渲染平面列表?
- css - 是否有一个 css 标签可以将 div 定位在其父级的特定嵌套深度?
- reactjs - 未找到具有指定模式的包:D:\a\r1\a\**\*.zip
- java - 为什么它不绘制图片 Jpanel
- actions-on-google - 无法通过显式调用调用 DialogFlow 代理
- c# - 将 foreach 循环中的 if-else 转换为 LINQ
- javascript - Javascript如何访问一个类中的一个类
- javascript - 需要帮助更新所选行的索引
- c# - await Task.FromResult 有什么好处吗?