linux - 更改值或创建它(如果它不存在)
问题描述
我想从 build.prop 文件中修改一个 certan 值,如下所示
ro.product.brand=Asus
ro.product.name=lineage_Z00T
ro.product.device=Z00T
将 ro.product.brand 价值从“华硕”更改为“三星”的最佳方式是什么?如果此值不存在,则创建它
解决方案
搜索该值是否存在:
grep 'ro.product.brand=' build.prop
修改它:
sed -E 's/(ro.product.brand=).*/\1Samsung/' build.prop
创造它 :
echo 'ro.product.brand=Samsung' >> build.prop
完整脚本:
if grep 'ro.product.brand=' build.prop; then
sed -E 's/(ro.product.brand=).*/\1Samsung/' build.prop
else
echo 'ro.product.brand=Samsung' >> build.prop
fi
请注意,无论其当前值是华硕还是其他任何东西,这都会将值更改为三星,您可以通过限制grep
仅匹配与预期值的行来更改它。
请注意,您可以通过删除该行(如果存在)并使用其目标值无条件地创建它来大大简化该过程:
sed '/ro.product.brand=/d' build.prop
echo 'ro.product.brand=Samsung' >> build.prop
推荐阅读
- linux - 柴油机编译挂在 Lightsail 上
- json - “additionalProperties”可以应用于 JSON Schema 中的嵌套对象吗?
- html - 更改滑块中的字体颜色 - Shopify
- r - 如何在命令中间退出 R?
- python - 下载时如何跳过没有扩展名的文件?
- azure-cosmosdb - CosmosDB Gremlin:错误:项目作者:下一步:提供的密钥遍历器 #### 映射到任何内容
- reactjs - CSSTransition:- React.Children.only 期望接收单个 React 元素子元素
- python - pyspark:从数据集中选择 n 个不同 ID 的最佳方法是什么
- python-3.x - TypeError:“str”对象不可调用(打印整数和单词时)
- python - Interp2d 时间效率和代码优化