入力文字列から特定の文字列を抽出し、残りの値を削除する方法は?

入力文字列から特定の文字列を抽出し、残りの値を削除する方法は?
INPUT="TEST: www.google.com TEST2: 123444 TEST3 Id: ABCD1234 TEST.txt"

私の予想結果はABCD1234

頑張った

OUTPUT=`echo $INPUT | sed 's/^.*TEST3 Id://' | sed 's/\[space].*//'`

これを出力として得るABCD1234 TEST.txt

ベストアンサー1

この試み:

echo "$INPUT" | sed 's/.*TEST3 Id: \([^ ]*\).*/\1/'

これは\( \)コピーされる正規表現部分を分離するのに便利な設定です\1。したがって、末尾の空白なしで最大の文字列のみを再生しますTEST3 Id:

おすすめ記事