この文字列では
Loaded: loaded (/lib/systemd/system/<name>.service; disabled; vendor preset: enabled)
"...apache2.service;"その後、「アクティブ化」または「非アクティブ化」できる最初の項目をインポートし、シェルから印刷したいと思います。
grep、sed、awkを使ってどうやって得るのですか?
ベストアンサー1
使用SED:
echo "Loaded: loaded (/lib/systemd/system/<name>.service; disabled; vendor preset: enabled)" | sed -n 's/.*service; \([^;]*\).*/\1/p'
使用grep:
echo "Loaded: loaded (/lib/systemd/system/<name>.service; disabled; vendor preset: enabled)" | grep -o -P '(?<=service; ).*(?=;)'
使用AWK:
echo "Loaded: loaded (/lib/systemd/system/<name>.service; disabled; vendor preset: enabled)" | awk -F 'service; |;' '{print $2}'
service;
との間の文字列を印刷します。;