![쉘스크립트 명령을 파일로 추출하고 구문 분석하는 방법은 무엇입니까?](https://linux55.com/image/98610/%EC%89%98%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%20%EB%AA%85%EB%A0%B9%EC%9D%84%20%ED%8C%8C%EC%9D%BC%EB%A1%9C%20%EC%B6%94%EC%B6%9C%ED%95%98%EA%B3%A0%20%EA%B5%AC%EB%AC%B8%20%EB%B6%84%EC%84%9D%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
나는 다음과 같은 프로그램을 가지고 있습니다 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