亚洲综合原千岁中文字幕_国产精品99久久久久久久vr_无码人妻aⅴ一区二区三区浪潮_成人h动漫精品一区二区三

主頁 > 知識庫 > Shell腳本讀取ini配置文件的實現代碼2例

Shell腳本讀取ini配置文件的實現代碼2例

熱門標簽:佛山高德地圖標注中心 陜西電銷卡外呼系統怎么安裝 百度地圖的地圖標注 杭州機器人外呼系統 旅游地圖標注大全 百度地圖標注圖標更換 excel地址地圖標注 地圖標注超出范圍怎么辦 東莞電銷機器人價格一覽表

一、簡單版

參考stackoverflow的例子,改了一個出來:

復制代碼 代碼如下:

while IFS='= ' read var val
do
    if [[ $var == \[*] ]]
    then
        section=$(echo $var | sed 's/^\[\(.*\)\]$/\1/')
    elif [[ $val ]]
    then
        if [ -z $section ];then
            declare "${var}=$val"
        else
            declare "${section}.${var}=$val"
        fi 
    fi 
done config.ini

使用的時候:

復制代碼 代碼如下:

${section.key}

就可以讀到變量啦。

二、復雜版

復制代碼 代碼如下:

[comon]
ids=com1,com2,com3
files=profilefile
 
 
[com1]
key="name"
file="test"
 
[com2]
key="name1"
file="test"
 
[com3]
key="name2"
file="test"

取[com1]的key值我查了下,還好在ChinaUnix里面查到了命令(貌似一位叫wintty兄寫的):

復制代碼 代碼如下:
awk -F '=' '/\[com1\]/{a=1}a==1$1~/key/{print $2;exit}' config.ini

這樣就簡單取到值了。
查了下命令終于明白,命令分為兩個部分:
先模式匹配到:[com1]然后執行動作:a=1,再接著有來個模式+命令
模式:“a==1$1~/key/”
a==1因為已經賦值了,所以執行下一步,如果$1第一個字段匹配key的值,則
打印第2項,緊接著退出,退出就不會打印到匹配[com2]和[com3]的key值.
 
需求會變得,現在變成取【com】幾個key對應的值,提供的shell的腳本如下:
復制代碼 代碼如下:

#!/bin/sh
getconfig()
{
  SECTION=$1
  CONFILE=$2
  ENDPRINT="key\tfile\t"
  echo "$ENDPRINT"
  for loop in `echo $ENDPRINT|tr '\t' ' '`
  do
       #這里面的的SECTION的變量需要先用雙引號,再用單引號,我想可以這樣理解,
       #單引號標示是awk里面的常量,因為$為正則表達式的特殊字符,雙引號,標示取變量的值
       #{gsub(/[[:blank:]]*/,"",$2)去除值兩邊的空格內容
       awk -F '=' '/\['"$SECTION"'\]/{a=1}a==1$1~/'"$loop"'/{gsub(/[[:blank:]]*/,"",$2);printf("%s\t",$2) ;exit}' $CONFILE
  done
}
 
#更改變量名稱
CONFIGFILE=$1
echo "========================================================"
#文件名稱
echo "+++ConfigName:$CONFIGFILE+++++++++++++++++++++++++++++++"
#取得ids中的每個id把,號分隔改成空格,因為循環內容要以空格分隔開來
profile=`sed -n '/ids/'p $CONFIGFILE | awk -F= '{print $2}' | sed 's/,/ /g'`
#對于一個配置文件中的所有id循環
for OneCom in $profile
do
  echo "--------------------------------------------------"
  echo "COM:$OneCom"
  #此處函數調用有時候不能用反引號,不然會出錯,此處原由還不清楚知道的麻煩請告之
  getconfig  $OneCom  $CONFIGFILE
  echo "\n"
  echo "--------------------------------------------------"
  #break
done
echo "========================================================"

 
執行的結果如下:
復制代碼 代碼如下:
$ one.sh File
========================================================
+++ConfigName:File+++++++++++++++++++++++++++++++
--------------------------------------------------
COM:com1
key     file  
name    file1 
--------------------------------------------------
--------------------------------------------------
COM:com2
key     file  
name1   file2 
--------------------------------------------------
--------------------------------------------------
COM:com3
key     file  
name2   file3 
--------------------------------------------------

 
嘿嘿需求又變了,配置文件有多個,怎么取多個文件的配置項嘛:
復制代碼 代碼如下:
#!/bin/sh
getconfig()
{
  SECTION=$1
  CONFILE=$2
  ENDPRINT="key\tfile\t"
 
  echo "$ENDPRINT"
  for loop in `echo $ENDPRINT|tr '\t' ' '`
  do
  
       awk -F '=' '/\['"$SECTION"'\]/{a=1}a==1$1~/'"$loop"'/{gsub(/[[:blank:]]*/,"",$2);printf("%s\t",$2) ;exit}' $CONFILE
  done
}
 
#顯示的多個文件名將多行的回車符轉成逗號分隔符
CONFIGFILES=`ls $1|tr '\n' ','`
#查看到底有多個配置文件
_Num=`echo $CONFIGFILES|tr -cd \,|wc -c`
#臨時變量保存配置多個文件
_TMPFILES=$CONFIGFILES
while [ $_Num -ge 1 ]
do
  #得到一個文件
  CONFIGFILE=`echo $_TMPFILES|cut -d ',' -f1`
  #余下的文件
  _TMPFILES=`echo $_TMPFILES|cut -d ',' -f2-`
  #配置文件數量減一
  _Num=$(($_Num-1))
  echo "========================================================"
  #文件名稱
  echo "+++ConfigName:$CONFIGFILE+++++++++++++++++++++++++++++++"
  profile=`sed -n '/ids/'p $CONFIGFILE | awk -F= '{print $2}' | sed 's/,/ /g'`
  #對于一個配置文件中的所有id循環
  for OneCom in $profile
  do
    echo "--------------------------------------------------"      
    echo "COM:$OneCom"
    getconfig  $OneCom  $CONFIGFILE
    echo "\n"
    echo "--------------------------------------------------"
    #break
  done
echo "========================================================"
done

 
兩個小時終于寫好了,請各位轉載的時候不要忘記加上我的地址哦,也不枉費我辛苦一場。

您可能感興趣的文章:
  • Shell腳本中使用for循環和cat命令實現按順序合并文件
  • Shell逐行讀取文件的4種方法
  • shell按行讀取文件的3種方法
  • Shell腳本一次讀取文件中一行的2種寫法
  • Shell實現讀取ini格式配置文件方法
  • PowerShell讀取文本文件指定行內容的方法
  • Shell腳本讀取標準ini配置文件Demo
  • Shell腳本逐行讀取文本文件(不改變文本格式)
  • 利用Shell腳本循環讀取文件中每一行的方法詳解

標簽:雅安 延邊 朝陽 通遼 西藏 青島 南充 隨州

巨人網絡通訊聲明:本文標題《Shell腳本讀取ini配置文件的實現代碼2例》,本文關鍵詞  Shell,腳本,讀取,ini,配置文件,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Shell腳本讀取ini配置文件的實現代碼2例》相關的同類信息!
  • 本頁收集關于Shell腳本讀取ini配置文件的實現代碼2例的相關信息資訊供網民參考!
  • 推薦文章
    国产不卡在线播放| 黄色福利| 免费国产在线视频| 99色精品| 国产一区二区精品久久91| 色综合久久天天综合| 国产视频网站在线观看| 一级女人毛片人一女人| 国产亚洲男人的天堂在线观看| 麻豆系列国产剧在线观看| 日韩av成人| 成人影视在线播放| 天天做人人爱夜夜爽2020| 久久国产一久久高清| 国产伦理精品| 深夜做爰性大片中文| 亚洲精品影院| 日韩专区一区| 国产成人精品在线| 久久久成人影院| 人人干人人草| 成人免费网站视频ww| 国产伦理精品| 国产一区二区精品久久91| 久草免费在线色站| 九九久久99综合一区二区| 一级毛片视频免费| 精品毛片视频| 成人高清视频在线观看| 久久国产影视免费精品| 91麻豆爱豆果冻天美星空| 四虎影视久久久| 日韩一级黄色片| 美女免费精品高清毛片在线视| 精品视频在线观看一区二区| 一级女人毛片人一女人| 国产视频一区二区三区四区| 国产一区二区精品| 国产国产人免费视频成69堂| 精品在线观看国产| 日韩av片免费播放| 青草国产在线| 亚洲女人国产香蕉久久精品| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 国产美女在线观看| 午夜欧美成人久久久久久| 欧美另类videosbestsex久久| 欧美a级片视频| 日韩中文字幕在线观看视频| 久久久久久久网| 久久久久久久网| 中文字幕一区二区三区 精品| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 日本特黄特色aa大片免费| 国产成人精品影视| 国产精品免费精品自在线观看| 国产成人啪精品| 麻豆污视频| 国产激情视频在线观看| 深夜做爰性大片中文| 国产成人啪精品| 国产91素人搭讪系列天堂| 国产国语在线播放视频| 韩国毛片 免费| 欧美另类videosbestsex视频| 国产视频一区二区三区四区| 国产国产人免费视频成69堂| 天天色成人| 日韩中文字幕一区二区不卡| 沈樵在线观看福利| 日日夜夜婷婷| 欧美另类videosbestsex久久| 国产精品1024在线永久免费| 亚欧乱色一区二区三区| 91麻豆高清国产在线播放| 国产视频久久久| 一级毛片视频在线观看| 精品国产一区二区三区久| 韩国毛片免费大片| 日韩在线观看视频免费| 亚洲精品永久一区| 精品国产香蕉伊思人在线又爽又黄| 青青久在线视频| 精品视频一区二区| 国产伦理精品| 国产网站在线| 香蕉视频三级| 久久国产精品自线拍免费| 国产91精品一区| 亚欧乱色一区二区三区| 欧美国产日韩一区二区三区| 高清一级片| 国产激情视频在线观看| 欧美a级成人淫片免费看| 国产成人精品综合在线| 亚洲精品影院| 国产视频网站在线观看| 九九免费高清在线观看视频| 亚欧视频在线| 亚飞与亚基在线观看| 亚洲女初尝黑人巨高清在线观看| 精品视频在线看| 美女免费毛片| 午夜欧美福利| 九九精品在线播放| 久久精品店| 国产高清视频免费观看| 国产亚洲精品aaa大片| 毛片电影网| 亚洲女人国产香蕉久久精品| 四虎影视久久| 国产网站免费在线观看| 日韩av片免费播放| 精品国产三级a∨在线观看| 韩国毛片免费大片| 韩国妈妈的朋友在线播放| 四虎影视久久久| 高清一级片| 国产一区精品| 尤物视频网站在线观看| 久草免费在线色站| 国产伦理精品| 成人免费一级纶理片| 久久久久久久免费视频| 国产精品免费精品自在线观看| 国产视频久久久久| 亚飞与亚基在线观看| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 免费一级片网站| 国产国产人免费视频成69堂| 黄视频网站在线免费观看| 中文字幕Aⅴ资源网| 亚久久伊人精品青青草原2020| 香蕉视频三级| 黄视频网站免费看| 国产成人啪精品| 欧美大片毛片aaa免费看| 黄视频网站免费看| 四虎论坛| 一本伊大人香蕉高清在线观看| 一本高清在线| 国产国语对白一级毛片| 国产不卡福利| 国产不卡在线播放| 国产a视频| 精品视频在线观看视频免费视频| 国产精品自拍在线观看| 九九精品久久| 久久99欧美| 国产视频一区在线| 一本伊大人香蕉高清在线观看| 精品视频在线观看视频免费视频| 91麻豆精品国产自产在线| 免费毛片基地| 超级乱淫伦动漫| 欧美大片aaaa一级毛片| 中文字幕97| 国产福利免费观看| 精品视频在线观看一区二区 | 日韩中文字幕在线观看视频| 99色视频在线| 欧美日本韩国| 欧美激情影院| 一a一级片| 欧美激情一区二区三区视频 | 精品美女| 国产成人精品影视| 九九久久99综合一区二区| 国产伦久视频免费观看 视频| 欧美日本韩国| 99热热久久| 欧美激情一区二区三区在线| 国产不卡在线观看视频| 久久国产影视免费精品| 四虎影视精品永久免费网站| 欧美另类videosbestsex视频| 台湾毛片| 国产成a人片在线观看视频| 国产成人精品综合在线| 人人干人人草| 精品视频在线观看一区二区| 99热精品一区| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 国产麻豆精品视频| 成人免费观看视频| 午夜欧美成人久久久久久| 99色视频在线| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | a级黄色毛片免费播放视频| 国产视频网站在线观看| a级毛片免费观看网站| 国产一区二区高清视频| 青青青草视频在线观看| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 免费毛片基地| 午夜在线影院| a级黄色毛片免费播放视频| 日韩专区第一页| 香蕉视频三级| 精品久久久久久综合网|