使用命令行Ubuntu在文件中更改Particualy字符串值而不进行字符串比较

问题描述 投票:2回答:1

我想创建一个shell脚本来更改我的文件中使用命令行的'='之后的字符串值。文件就像:

 String name = "Max";
 String age = "24";
 String address = "Noida";

要么

String name=Max
String age=24
String address=Noida

但在这里,我不想进行字符串比较,像这样:

$ sed -i 's/Max/Aman/gI' String.txt
$ sed -i 's/24/25/gI' String.txt
$ sed -i 's/Noida/Delhi/gI' String.txt

请建议如何使用命令行在文件中更改字符串值而不进行字符串比较。

shell ubuntu
1个回答
1
投票

你可以使用这个单个sed,它不会在替换新值时检查以前的值:

sed '/name = /s/"[^"]*"/"AMAN"/; /age = /s/"[^"]*"/"25"/; /address = /s/"[^"]*"/"Delhi"/;' String.txt

String name = "AMAN";
String age = "25";
String address = "Delhi";
© www.soinside.com 2019 - 2024. All rights reserved.