2,161
社区成员
发帖
与我相关
我的任务
分享
[liangdong@jx-csblog01.jx.baidu.com shell]$ ./test.sh a=2 b=3 c=4 a.txt
[18:45:08] tty:[2] jobs:[0] cwd:[~/shell]
[liangdong@jx-csblog01.jx.baidu.com shell]$ cat a.txt
a=2
b=3
c=4
d=1
[18:45:10] tty:[2] jobs:[0] cwd:[~/shell]
[liangdong@jx-csblog01.jx.baidu.com shell]$ cat test.sh
#!/bin/bash
if [ "$#" -lt 2 ];then
echo "usage : ./test.sh [key=val]+ xml_file_name";
fi
# number of key_vals
key_val_num=`expr $# - 1`;
# get the input xml_file_name
eval xml_file_name='$'{$#};
if ! [ -f "$xml_file_name" ];then
echo "xml file name invalid...";
exit 1;
fi
# store in array
key_val=($@);
# replace
for (( ndx=0; ndx!=$key_val_num; ++ndx ));do
eval elems='$'{key_val[$ndx]};
key=${elems%=*};
val=${elems#*=};
sed -i -r "s/($key=).*/\1$val/g" $xml_file_name;
done