Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用sed Unix在特定字符串后添加字符串_Unix_Sed - Fatal编程技术网

使用sed Unix在特定字符串后添加字符串

使用sed Unix在特定字符串后添加字符串,unix,sed,Unix,Sed,我在文件中有一个字符串,如下所示: "Value1=[random number]" $ sed 's,\(Value1=200\),\1 Value2=100,' myfile.txt 在这个字符串之后,我想添加另一个字符串,特别是: "Value2=100" 如果我尝试使用: sed '/Value1=/a Value2=100' myfile.txt 它将失败,因为我没有包括Value1=[一些随机数]这一事实 如何将Value1=随机数和Value2添加到此字符串中 sed

我在文件中有一个字符串,如下所示:

"Value1=[random number]"
$ sed 's,\(Value1=200\),\1 Value2=100,' myfile.txt
在这个字符串之后,我想添加另一个字符串,特别是:

"Value2=100"
如果我尝试使用:

sed  '/Value1=/a Value2=100' myfile.txt
它将失败,因为我没有包括Value1=[一些随机数]这一事实

如何将Value1=随机数和Value2添加到此字符串中

sed  '/Value1=[0-9]\+/a Value2=100' myfile.txt
[0-9]\+
将匹配任何数字字符串。例如,在我的cygwin上,GNU sed 4.2.2

echo Value1=42 | sed '/Value1=[0-9]\+/a Value2=43'
产生

Value1=42
Value2=43
编辑:如果数字可能在双引号中,也可能不在双引号中,请使用:

 sed '/Value1="\?[0-9]\+"\?/a Value2=43'
“\?
是可选的双引号。

类似以下内容:

"Value1=[random number]"
$ sed 's,\(Value1=200\),\1 Value2=100,' myfile.txt
结果:

Value1=200 Value2=100
输出:

"Value1=400" "Value2=100" "Value1=400" "Value2=100" 输出:

"Value1=400" "Value2=100" "Value1=400" "Value2=100" “值1=400”“值2=100”
如果数字被引号括起来怎么办?这是否意味着它不再是一个数字,而是一个字符串?