2

我想创建一个 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

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

4

1 回答 1

1

您可以使用这个sed在替换新值时不检查先前值的单曲:

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

String name = "AMAN";
String age = "25";
String address = "Delhi";
于 2018-08-31T07:45:38.060 回答