SED Command: .env file hacks
# Start Environment
FOO = Bar
# This commant is to create confusion
# FOO=barred
HOST = localhost # 127.0.0.1
# This a comment
PORT = 8080
# END Environment
Remove all comments
FOO = Bar
HOST = localhost
PORT = 8080
sed -e ' s/ *#.*//g' -e ' /^$/ d' .env
FOO = Bar
HOST = localhost
PORT = 8080
sed -e ' s/ *#.*//g' -e ' /^$/ d' -e ' s/^\(.*\)=\(.*\)$/- name: \1\n value: \2/' .env
- name : FOO
value : Bar
- name : HOST
value : localhost
- name : PORT
value : 8080
Add "env:" at the begining of the file
echo ' env:' ; sed -e ' s/ *#.*//g' -e ' /^$/ d' -e ' s/^\(.*\)=\(.*\)$/- name: \1\n value: \2/' .env
{ echo ' env:' ; sed -e ' s/ *#.*//g' -e ' /^$/ d' -e ' s/^\(.*\)=\(.*\)$/- name: \1\n value: \2/' .env } > env.yaml
env :
- name : FOO
value : Bar
- name : HOST
value : localhost
- name : PORT
value : 8080
Export .env as Environment Variable
export $(sed -e 's/ *#.*//g' -e '/^$/ d' .env | xargs)
Turn into docker compose environment variables
sed -e ' s/ *#.*//g' -e ' /^$/ d' -e ' s/^/- /' .env
- FOO=Bar
- HOST=localhost
- PORT=8080
Add environment at begining
echo ' environment:' ; sed -e ' s/ *#.*//g' -e ' /^$/ d' -e ' s/^/- /' .env
environment :
- FOO=Bar
- HOST=localhost
- PORT=8080