文字列抽出

文字列抽出

テキストモードのファイルがあります。

AAAA - BBBB (CCCC) - (DDDD)

私は最初のグループAAAA - BBBBのみを使用することに興味がありました(例:AAAAとBBBB)。以下を使用して「(CCCC)-(DDDD)」を切り出しました.

FIRST_SET="${STRING%% (*}" 

「AAAA-BBBB」を教えてください。

生涯2番目の「BBBB」から「AAAA」を抽出することはできません。

よろしくお願いします。

ベストアンサー1

2つのシェル変数に最終結果が必要で、単語をスペースで区切って、単語にスペースが含まれておらず、変数にIFSデフォルト値があるとしましょう。

$ read -r word1 dash word2 junk <file
$ printf 'word1 = "%s"\nword2 = "%s"\n' "$word1" "$word2"
word1 = "AAAA"
word2 = "BBBB"

ここで使用されるコマンドは、read最初の単語を変数として読み、word12番目の単語を変数として読み込みますword2。単語間のダッシュは変数として読み取られ、最後のdashゴミは名前付き変数に配置されますjunk

おすすめ記事