一部のデータの解析に問題があります。
私のファイルは次のとおりです。
bliblablo-/interestingdata1UUUUUUUUUUUUUUU/-blublu-/interestingdata2UUUUUUUUUUUUUUU/-blybly-/etcetcetc
私は以下を得るべきです:
interestingdata1
interestingdata2
次のような「興味深いデータ」が1つしかない場合:
bliblablo-/interestingdata1UUUUUUUUUUUUUUU/-bl
次のコマンドが私にとって効果的でした。
cat file | sed -E 's/.*[-][/](.*)[U]{15}.*/\1/g'
ただし、同じ文字列内の複数の一致に対して機能しなくなりました(最後の一致のみを印刷します)。私の区切り文字は常に「-/」で始まり、「UUUUUUUUUUUUUU」で終わります。間に何があるのかわかりませんが、すべてを抽出する必要があります。。
この問題を解決する方法を知っている人はいますか?
ベストアンサー1
プレビューと非欲張りな一致でPCREモードでGNU grepを使用する:
$ grep -Po '(?<=-/).*?(?=U{15})' file
interestingdata1
interestingdata2