シェルスクリプトから2つの文字列間の単語を抽出する方法

シェルスクリプトから2つの文字列間の単語を抽出する方法

Shellscriptから2つの文字列の間のテキストを抽出したいと思います。以下の文字列から「要約:」と「到着位置」の間のテキストを抽出したいと思います。 mySTring="Summary: New Arrival Arrived At:11/8/2018, 01:38:00 P.M." これはどのように達成できますか?

ベストアンサー1

要件に厳密に従い、テキストがすでに変数にあると仮定すると、次のようになります。

s="Summary: New Arrival Arrived At:11/8/2018, 01:38:00 P.M."
s="${s#*Summary:}"
s="${s%% Arrived At*}"
printf '%s\n' "$s"

...しかし、データの後に常にスペースがある場合は、そのSummary:スペースも削除することをお勧めします。

s="${s#*Summary: }"
s="${s%%Arrived At*}"

...前にスペースがある場合は以前と同じですArrived At

s="${s#*Summary: }"
s="${s%% Arrived At*}"

おすすめ記事