我正在研究一個允許我添加,刪除或編輯配置文件的腳本。我已經對它進行了一些測試,看起來好像我至少能夠使用單個文件工作,但我希望能夠執行.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查找匹配項並更換。大多數情況下,我只能在一個配置文件上工作,但有可能我希望它發生在一堆不同的配置文件中 –
編輯您的問題並添加示例。 –