パターン間の単語を抽出する

パターン間の単語を抽出する

2つのパターン間の単語を抽出する必要があるファイルがあります

例えば、次のものを抽出する必要があるoriginatingMessageId

この入力ファイルの場合

userGLN|originatingMessageId0028400000000~20170412194316~1182055~1/originatingMessageId/header|documentException|originatingDocumentId|0028400000000~20170412194316~1182055~1~15~19649/originatingDocumentId|link|operation|DELETE|operation||informationProviderGLN|0028400000000|informationProviderGLN|

予想される出力ファイルは次のようになります。

0028400000000~20170412194316~1182055~1

答え1

str='originatingMessageId'

awk -F"/?$str" '$0=$2'

grep -oP "\|${str}\\K.*?(?=/${str})"

sed -e "s|/\{0,1\}$str|\n|;s/.*\n//;s|/\{0,1\}$str|\n|;/\n/P;d"

関連情報