string - Bash / Shell脚本在读取文件时将字符串与字段参数连接在while循环中
问题描述
我很难正确读取一个文件,它只不过是一个 key=value 文件。
这是文件:
#test.txt
global.project=99999
global.env=pr
global.app=Terraform
global.dcs=CloudBroker
global.cbp=n/a
这是代码:
TS=""
while IFS== read -r f1 f2; do
echo $f1
echo $f2
val=$f2
TS+="\"${f1}\":\"${f2}\","
done < "tags.txt"
echo "${TS}" # Result: ","global.cbp":"n/audBroker
结果很奇怪。当我删除 f2 时,不会出现任何问题。
预期的结果应该是:
"global.opco":"99999","global.env":"pr" 等等。
解决方案
根据@GordonDavisson 的评论,我修改了脚本,它现在就像一个魅力:
TS=""
while IFS=$'=\r' read -r f1 f2; do
echo $f1
echo $f2
val=$f2
TS+="\"${f1}\":\"${f2}\","
done < "tags.txt"
echo "${TS}" # Result: {"global.project":"99999","global.env":"pr","global.app":"Terraform","global.dcs":"CloudBroker","global.cbp":"n/a",}
推荐阅读
- react-native - React Native EventEmitter Polyfill
- php - Laravel 获取列的所有值
- python - 如何在 Wsl2 中使用 Python Selenium?
- kotlin - Kotlin Junit 测试
- vb.net - FileStream 读取和写入大文件的更快方法
- python - 需要帮助在 pandas 数据框中搜索另一列的子字符串
- json - 发送Map对象时如何设置json属性的顺序
- c# - SharpDX 2D 的 DirectX 2d WinForm 设置
- javascript - 无法在 ngx Quill 编辑器中设置 ${}
- css - 在 React 中自定义 iframe 上的 CSS 样式