shell指令碼按行讀取檔案並解析

2021-07-22 16:45:01 字數 681 閱讀 5638

shell指令碼讀取乙個配置檔案,配置檔案的格式如下:

name=abc

pwd=123456

permission=mop

檔名稱為 config.cfg

要在shell指令碼裡讀取這個配置檔案,並且把值一一賦給相應的變數,實現如下

while read line; do

name=`echo $line|awk -f '=' ''`

value=`echo $line|awk -f '=' ''`

case $name in

"name")

name=$value

;;"pwd")

pwd=$value

;;"permission")

permission=$value

;;*)

;;esac

done < config.cfg

重點的解釋一下

1. while read line; do 

done < config.cfg

按行讀到變數 line 中

2. name=`echo $line|awk -f '=' ''`

awk 命令是把乙個字串進行解析成乙個陣列, -f指定了 間隔符為  「=」 , $1代表陣列下標為0的字串,即name值

$0代表字串本身,這個要注意。

shell指令碼 按行讀取檔案

按行讀取檔案 bin bash echo 方法 1 while read line1 do echo line1 done 1 echo 方法 2 cat 1 while read line2 do echo line2 done echo 方法 3 for line3 in 1 do echo l...

使用shell按行讀取檔案

在shell裡面,按行讀取檔案得注意設定環境變數ifs,否則無法正確讀入。具體例子如下 oldifs ifs ifs n file home xx txt in file home in for pattern in cat do grep v e pattern done ifs oldifs要按...

python 按行讀取並判斷按行寫入檔案

f open description opinion.json w encoding utf 8 forline inopen test1set raw search.test1.json encoding utf 8 if question type description fact or opi...