我正在研究一个允许我添加,删除或编辑配置文件的脚本。我已经对它进行了一些测试,看起来好像我至少能够使用单个文件工作,但我希望能够执行.config或fi.config并让它执行所需的操作。编辑配置文件的脚本
我将不胜感激任何帮助。
配置文件看起来类似于这只是更大
-- Config File
-- Environment DEV7
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
-- General properties
-------------------------------------------------------------------------------
com.x.yy.zz.version=2.0.2
com.x.yy.zz.instanceRole.ServerA=PRIMARY
com.x.yy.zz.instanceRole.ServerB=SECONDARY
com.x.yy.zz.StopDelay=30
com.x.yy.zz.sourceType=t
com.x.yy.zz.sNumberInc=20000
com.x.yy.zz.sNumberMin=20000
com.x.yy.zz.sNumberMax=9980000
so -a would allow me to add a line after something
ex. -a StopDealy New
com.x.yy.zz.StopDelay=30
New
#!/bin/bash
i=1
usage()
{
echo "test usage"
}
if [[ $# -gt 4 ]]
then
i=2
fi
while [[ $# -gt $i ]]
do
key="$1"
case $key in
-f|--file)
file="$2"
shift
;;
-a|--after)
sed -i "/$2/a $3" $file
#shift # past argument
;;
-b|--before)
sed -i "/$2/i $3" $file
#shift
;;
-d|--delete)
sed -i "/$2/d" $file
#shift
;;
-e|--edit)
sed -ie "s/$2/$3/g" $file
shift
;;
*)
usage
;;
esac
shift # past argument or value
done
你的配置文件是什么样的?你想在做-a,-b或-d之后看起来像什么? –
配置文件只是一个巨大的属性文件,其中包含版本号,IP地址,密码等。-a在找到匹配项后添加所需的行,-b相同但在之前,-d删除找到的行,-e查找匹配项并更换。大多数情况下,我只能在一个配置文件上工作,但有可能我希望它发生在一堆不同的配置文件中 –
编辑您的问题并添加示例。 –