我正在使用jenkins-cli进行jenkins迁移,其中一步是使用sed命令手动替换值,如下所示:
definitions = [
{
"id": 5,
"text": "Argentina"
},
{
"id": 1,
"text": "Poland"
},
{
"id": 2,
"text": "UK"
},
{
"id": 3,
"text": "Germany"
},
{
"id": 4,
"text": "France"
}
]
但是我想在输入文件中输入所有可能的值,其中两列的分隔符为sed 's/mukesh/architect/g' target_file
,并提供给目标文件
输入文件看起来像
例如:
mukesh =建筑师
abdul = manager
现在,我想将此文件用作sed命令中的输入以进行搜索并替换到我的目标文件中。我不想使用手动=
,而是要使用在手册页中找到的以下选项
s///g
但不确定如何使用此输入文件自动搜索并将模式替换为目标文件。如果有任何样品,示例,将不胜感激。
答案 0 :(得分:0)
您可以使用以下代码读取输入文件,对其进行解析并更新输出文件。 在这里,我正在读取输入文件,根据分隔符“ =”分隔值,然后更新outfile /目标文件。
while read name
do
x=`echo $name|cut -d"=" -f1`
y=`echo $name|cut -d"=" -f2`
sed -i "s/$x/$y/g" outfile
done < inputfile
这应该可以解决您的问题。让我知道您是否正在寻找其他东西或其他东西。欢呼:)