【发布时间】:2020-01-01 15:09:03
【问题描述】:
给定两个 dotenv 文件,
# file1
FOO="X"
BAR="B"
和
# file2
FOO="A"
BAZ="C"
我要跑步
$ ./merge.sh file1.env file2.env > file3.env
得到以下输出:
# file3
FOO="A"
BAR="B"
BAZ="C"
到目前为止,我使用python-dotenv 模块将文件解析为字典,将它们合并并写回。但是,我觉得 shell 中应该有一个简单的解决方案,让自己摆脱第三方模块来完成这样的基本任务。
回答
好的,所以我最终使用了
$ sort -u -t '=' -k 1,1 file1 file2 | grep -v '^$\|^\s*\#' > file3
省略空行和 cmets。不过,建议的awk 解决方案同样有效。
【问题讨论】:
标签: shell environment-variables