shell腳本編程 逐行處理文本 將字符串轉化爲數組

代碼以下json

mapping_file=mapping.txt
json_file=user.json

cat ${mapping_file} | while read line
do
    OLD_IFS="$IFS"
    IFS="    "
    arr=($line)
    sed -i "s/${arr[0]}/${arr[1]}/g"    ${json_file}
done

代碼解釋:數組

  1. 逐行讀取使用的是while read line
  2. line是一行字符串,以製表符分隔,arr就是一個字符串數組,其中IFS="\t" 不能實現以製表符分隔。
  3. 倒數第二行的sed命令,裏面必須用雙引號,由於引號裏面若是須要放變量,則必須用雙引號,單引號不能夠
相關文章
相關標籤/搜索