は、私は基本的に後で使用するために別の環境変数へのURLから部品を抽出したいので、私はこのような何かを行うことができるように期待しています:Bashの正規表現から複数の環境変数を抽出するには?
echo "my-app.domain.com:8080" | \
sed -r 's/((\w+)\.)?(\w+\.\w+)(\:(\d+))?/\2\n\3\n\5/g' | \
read SUBDOMAIN DOMAIN PORT
は、しかし、これは動作していないように(とために何らかの理由「:」ポートから常に「\ 5」で出力されます):
sh-4.2# echo "my-app.domain.com:8080" | \
sed -r 's/((\w+)\.)?(\w+\.\w+)(\:(\d+))?/\2\n\3\n\5/g'
my-app
domain.com
:8080
何私にはもっと奇妙であることは、私は\ 5の後に新しい行を印刷する場合、これが出力されるということです:
sh-4.2# echo "my-app.domain.com:8080" | sed -r 's/((\w+)\.)?(\w+\.\w+)(\:(\d+))?/\2\n\3\n\5\n/g'
my-app
domain.com
:8080
いずれにしても、読み込みを使用すると、いずれの変数も設定されていません...私は数多くのことを間違っているように見えますが、正確に何を見分けることはできません。 GNUのbashのでは
これは...美しい – dukeofgaming