替换所有* .gpl文件的特定内容的命令

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

我在*.gpl文件中有以下内容。

#WANTS TO MODIFY REFERENCE_OUTPUT_* HERE IN BELOW LINES
set output "REFERENCE_OUTPUT_fun1.png"
set output "REFERENCE_OUTPUT_fun2.png"
set output "REFERENCE_OUTPUT_fun3.png"
set output "REFERENCE_OUTPUT_fun4.png"
-
-
-
#DO NOT WANTS TO MODIFY REFERENCE_OUTPUT_* FOR BELOW LINE 
plot '/project/subfolder1/REFERENCE_OUTPUT_fun1.txt' u 1:2 w l axes x1y1 ti "Ref output"  lc rgb "red" 

而且我的转储文件夹中确实有至少800+ *.gpl个文件。

我想将生成的输出png文件转储到单独的images文件夹中。

所以,

我正在尝试通过以下命令来这样做:

sed -i 's/set output "REFERENCE_OUTPUT_*/set output "./images/REFERENCE_OUTPUT_*/g' {} *.gpl

但是低于错误

错误

sed: -e expression #1, char 25: unknown option to `s'

预期输出

在所有*.gpl文件中,以上设置的输出行从:变为>

set output "REFERENCE_OUTPUT_fun1.png"

to

set output "./images/REFERENCE_OUTPUT_fun1.png"

UPDATE:

*.gpl文件还具有:

plot '/project/subfolder1/REFERENCE_OUTPUT_fun1.txt' u 1:2 w l axes x1y1 ti "Ref output"  lc rgb "red" 

所以在上面的行REFERENCE_OUTPUT_fun1.txt中也有名称REFERENCE_OUTPUT_fun1,我不想更改它。因此,这就是我使用set output "REFERENCE_OUTPUT_*的原因,它将仅修改此set output . .行(理论上)

我在* .gpl文件中的下面这行。 #想要在以下行中修改REFERENCE_OUTPUT_ *设置输出“ REFERENCE_OUTPUT_fun1.png”设置输出“ REFERENCE_OUTPUT_fun2.png”设置输出“ ...

linux command
1个回答
0
投票

您不需要匹配整个字符串-只需替换前缀

© www.soinside.com 2019 - 2024. All rights reserved.