1.用于修改 cfg文件的shell脚本:
#!/usr/bin/ksh
function cfg_update_sec_key_value
{
typeset file_name="$1"
typeset sec_name="$2"
typeset key_name="$3"
shift 3
typeset key_value
set -A key_value "$@"
typeset -i sec_line_start
typeset -i sec_line_end
typeset key_line_buf
##查找段所在的起始行和结束行
sec_line_start="`sed -n \"/^[ |${KEY_TAB}]*\[${sec_name}\]/=\" $file_name`"
sec_line_start="`echo $sec_line_start`"
((sec_line_start+=1))
sec_line_end="`sed -n \"$sec_line_start,/^[ |${KEY_TAB}]*\[.*\]/p\" $file_name | wc -l`"
sec_line_end="`echo $sec_line_end`"
((sec_line_end=sec_line_start+sec_line_end-1))
##处理键名中的[和]
typeset tmp_key_name="`echo $key_name | sed 's/\[/\\\[/g' | sed 's/\]/\\\]/g'`"
typeset tmp_file="${smdb_user_home}/tmp.tmp"
##查找键所在行并修改键值
typeset -i i=0
typeset line_no=1
typeset -i j=1 #指向当前行
typeset -i k=2 #指向当前域
typeset -i nf=0 #记录匹配行中以'#'符分隔的域数
typeset note="" #记录域信息
typeset note_temp=""
typeset line_max=`wc -l ${file_name}|awk '{print $1}'` #记录文本的行数
while [ "${j}" -le "${line_max}" ]
do
key_line_buf=`sed -n "${j}"p "${file_name}"` #读取行
if [ $line_no -ge $sec_line_start -a $line_no -le $sec_line_end ];then
echo "$key_line_buf" | grep "^[ |${KEY_TAB}]*$tmp_key_name[ |${KEY_TAB}]*=.*$" 1>/dev/null 2>&1
if [ $? -eq 0 ];then
nf=`echo "$key_line_buf"|awk -F# '{print NF}' 2>/dev/null`
if [ $nf -ge 2 ];then #行中含有注释
while [ $k -le $nf ]
do
note=`echo "$key_line_buf"|awk -F# -v y=$k '{print $y}'`
note_temp="${note_temp}#${note}"
((k+=1))
done
key_line_buf="$key_name=${key_value[i]} $note_temp"
((i+=1))
else #行中无注释
key_line_buf="$key_name=${key_value[i]}"
((i+=1))
fi
fi #end匹配成功,进行处理
fi #end在指定段中查找指定的键名$tmp_key_name
echo "$key_line_buf" >> $tmp_file #输出行
((line_no+=1))
((j+=1))
done
cp $tmp_file $file_name
rm -f $tmp_file
return 0
}
2.调用cfg_update_sec_key_value函数的方法:
cfg_update_sec_key_value “file” “section” “key” “value”
修改成功返回0,返回其他值为失败。
分享到:
相关推荐
cfg2html完全用本机语言编写,用于系统管理:作为shell脚本。 有经验的用户和系统管理员可以通过使用插件框架或修改源代码来修改或扩展cfg2html脚本,使其适合特定情况。 目的 cfg2html将系统配置收集为HTML和文本...
MongoDB迁移该项目旨在成为mongodb的不可知论的迁移系统。 有时,当您添加属性时,您需要为现有文档提供一个值。 经常这样做,此工具可以提供帮助,因为它... 您可以通过在config.cfg中编辑MIGRATION_DIR配置来更改它
� 1.3.5 修改 SYSLINUX.CFG � 1.3.6 从 USB 记忆棒引导启动 � 1.3.7 将 USB 记忆棒挂载为 /cdrom o 1.4 安装完成之后 o 1.5 参考 o 1.6 Comments and Troubleshooting � 1.6.1 On Partitioning the Flash drive
./octopus_perf.mk: device/softwinner/octopus-perf/configs/gsensor.cfg:system/usr/gsensor.cfg \ ./octopus_perf.mk: device/softwinner/octopus-perf/configs/media_profiles.xml:system/etc/media_profiles....
此命令能和大多数压缩文件变量开关一起使用修改压缩文件参数。对于象 -cl, -cu, -tl 等没有专门命令的开关特别方便。 它不能重新压缩、解密或加密压缩文件数据,它不能整合或创建卷。如果 不和其它开关一起使用...
./octopus_perf.mk: device/softwinner/octopus-perf/configs/gsensor.cfg:system/usr/gsensor.cfg \ ./octopus_perf.mk: device/softwinner/octopus-perf/configs/media_profiles.xml:system/etc/media_profiles....
我在github上找到了它,并对它进行了一些更改,以减少参数的使用,并记住我的MFA ARN。 概要文件名称应为aws-cli使用的~/.aws/credentials文件中的概要文件节的名称。 ARN应该是AWS控制台中指定的MFA设备的ARN。 ...
python通过配置文件config.cfg配置的url路径读取config.json的内容,主要用于校验 在python运行期间如果有新注册账户登录就重新读取url内容 这里解释一下用到的两个bison_key config.php用到的key主要用来加密密码和...
如果您不知道自己在做什么,那么使用 USB Flash 创建脚本是非常危险的。 如果你指定了错误的设备,它会将指定的磁盘擦干净!!!! 要重新打包 iso,请执行以下操作: 将 Centos 7 ISO 下载到工作目录 根据需要...
系统先决条件Debian 8 吉特运行./scripts/prerequisites.sh以安装所有其他依赖项节点部署所有设置都是通过sh脚本生成的,并存储在存储库根目录中的.core-cfg文件中。 还有一个.env文件,其中存储了一些设置,但是...
CFG:配置文件 CGI:公共网关接口脚本文件 CGM:计算机图形元文件 CH:OS/2配置文件 CHK:由Windows磁盘碎片整理器或磁盘扫描保存的文件碎片 CHM:编译过的HTML文件 CHP:Ventura Publisher章节文件 CHR:...
该脚本还将为/ opt / retropie / configs目录中的仿真器更新所需的retroarch.cfg文件。 这些更改对于显示不透明度为1的PNG边框是必要的。 新的边框包会定期完成,您将需要运行脚本更新程序来下载最新版本,以查看...
RTL网卡刷mac工具
pure 1 ,如果它不是标准文件,则自定义的允许您通过控制屏幕绑定控件的文件mouse_keyboard_options.txt会被标记,因此您需要使用自定义文件和绑定您的控件,然后将其更改回标准文件。 对于 Windows 用户,我在cfg...
选择5将安装默认的boot.cfg示例文件,或者可以从安装目录中还原名为boot.cfg.old的备份。 选择6允许您从Android文本编辑器(Jota)修改boot.cfg。 而且,尽管脚本进行了一些错误检查,但还是要像往常一样确保您...
操作步骤 1:获取定制版的配置文件(hw_tree.xml) 开启光猫的telnet模式 物理准备:使用网线连接到光猫的LAN1端口,拔掉光线(蓝色口) 软件准备:关闭360安全卫士,... 选中第1步骤修改的文件,更新配置即可。
cfgbackup-“ cfgbackup是相当不错的备份” 一种易于使用的文件备份脚本,其中每个作业都基于简单的配置文件。 是否进行轮转备份,单向同步或目录镜像详细记录有关失败的电子邮件通知生成的备份只是目录中的文件,而...
这包括对.cfg文件以及.data,培训和验证.txt文件所需的修改。 DarkMark还将创建一些Shell脚本以开始培训并在计算机之间复制必要的文件。 执照 DarkMark是开源的,并使用GNU GPL v3许可证发布。 有关详细信息,请...
backup cfg 是光猫系统里禁用shell之后保留下来的并不算多的命令中的一个。 192.168.2.2 是TFTP服务器的地址,并不一定适合所有人,需要根据自身情况去修改,其他都不变。 4. 利用配置文件解密工具来解密配置文件...
tla_tools 将这些脚本放在您的 PATH 上,它们应该可以帮助您运行请注意,您可能需要使用适当的路径修改lib/common 。 此外,据我所知,所有这些工具都希望在与输入文件相同的目录中运行。 例子: joe@hostname ~/src...