shell脚本如何修改文件的内容?
发表于 : 2015-01-20 16:49
如题,具体问题请看下面:
脚本需要修改配置文件的内容。配置文件的内容如下:
WIFI_MODE=STA
IPADDRESS=192.168.15.133
NETMASK=255.255.255.0
...
配置文件名为setting.dat,脚本文件命令为update_setting.sh
应用举例:
实现将WIFI_MODE项改为AP,命令如下
./update_setting.sh setting.dat WIFI_MODE AP
我的code:
#!/bin/sh
# read setting file
dest_file=$1
dest_str=$2
dest_var=$3
#Find the replace line
line_num=`grep -n "$dest_str" "$dest_file" | cut -d ':' -f 1`
if [ $? -eq 0 ] ; then
cat $dest_file | sed "${line_num}c ${dest_str}=${dest_var}" > ${dest_file}_temp
mv ${dest_file}_temp ${dest_file}
但是我的脚本中有 重定向+产生临时文件,感觉不是很好,所以请教各位是否还有更好的方法。
脚本需要修改配置文件的内容。配置文件的内容如下:
WIFI_MODE=STA
IPADDRESS=192.168.15.133
NETMASK=255.255.255.0
...
配置文件名为setting.dat,脚本文件命令为update_setting.sh
应用举例:
实现将WIFI_MODE项改为AP,命令如下
./update_setting.sh setting.dat WIFI_MODE AP
我的code:
#!/bin/sh
# read setting file
dest_file=$1
dest_str=$2
dest_var=$3
#Find the replace line
line_num=`grep -n "$dest_str" "$dest_file" | cut -d ':' -f 1`
if [ $? -eq 0 ] ; then
cat $dest_file | sed "${line_num}c ${dest_str}=${dest_var}" > ${dest_file}_temp
mv ${dest_file}_temp ${dest_file}
但是我的脚本中有 重定向+产生临时文件,感觉不是很好,所以请教各位是否还有更好的方法。