私は次のプログラムを持っていますShell Script
:
#!/bin/sh
max=9
for i in `seq 1 $max`
do
sudo -u ${USERNAME} heroku config --app mws-usp-app0${i}
done
max=50
for i in `seq 10 $max`
do
sudo -u ${USERNAME} heroku config --app mws-usp-app${i}
done
for コマンドの各行の結果は次のとおりです。
=== mws-usp-app01 Config Vars
CLEARDB_DATABASE_URL: mysql://<user>:<password>@us-cdbr-iron-east-04.cleardb.net/heroku_cf843140f07f0a2?reconnect=true
DATABASE_URL: postgres://...:[email protected]:5432/dalmmfh5cs6nqa
HEROKU_POSTGRESQL_PURPLE_URL: postgres://...:[email protected]:5432/de4hk500aj9f1q
JAVA_OPTS: -XX:+UseCompressedOops
=== mws-usp-app02 Config Vars
CLEARDB_DATABASE_URL: mysql://<user>:<password>@us-cdbr-iron-east-04.cleardb.net/heroku_cf843140f07f0a2?reconnect=true
DATABASE_URL: postgres://...:[email protected]:5432/dalmmfh5cs6nqa
HEROKU_POSTGRESQL_PURPLE_URL: postgres://...:[email protected]:5432/de4hk500aj9f1q
JAVA_OPTS: -XX:+UseCompressedOops
...
=== mws-usp-app50 Config Vars
CLEARDB_DATABASE_URL: mysql://<user>:<password>@us-cdbr-iron-east-04.cleardb.net/heroku_b154acff411bcfc?reconnect=true
DATABASE_URL: postgres://...:[email protected]:5432/dalmmfh5cs6nqa
HEROKU_POSTGRESQL_PURPLE_URL: postgres://...:[email protected]:5432/d5gngl61fsq95o
JAVA_OPTS: -XX:+UseCompressedOops
CLEARDB_DATABASE_URL
合計のすべての値を取得し、スペースで区切られたテキストファイルに入れるためにどのように解析できますか?<user>
<password>
メモ:と英数字<user>
のみが可能です。との例です。<password>
<user> = b69ab75f269r50
<password> = c6f5230r6
答え1
... | perl -nE '/CLEARDB_DATABASE_URL:.*mysql:..(.*?):(.*?)@/ and say "$1:$2"'
パターンを探して(/.../
)関連のキャプチャされた要素を印刷します(and say ...
)
答え2
役に立ちます(テストされていません)
./<your-shell-script> | grep "^CLEARDB_DATABASE_URL" | awk -F: '{print $3":"$4}' > output-file