Grepは単語全体を抽出します(引用符を除く)。

Grepは単語全体を抽出します(引用符を除く)。

アイテムの多いファイルがあります。特定のコンポーネントのIDを抽出したいと思います。 IDの前にabcd.inst 同じ単語を1つだけ意味します。

abcd.inst.sdt.gh-wer-1.anrg6ljrgo5rdtyc25lgtr2wf7iuhu2f5scwehpjjzerzpnphn3tzy4w2wjq

私がするたびに

cat abcd.txt | grep "abcd.inst"

私が得た結果は次のとおりです。

"id": "abcd.inst.sdt.gh-wer-1.anrg6ljrgo5rdtyc25lgtr2wf7iuhu2f5scwehpjjzerzpnphn3tzy4w2wjq"

とにかく、出力を次のようにすることは可能ですか?

abcd.inst.sdt.gh-wer-1.anrg6ljrgo5rdtyc25lgtr2wf7iuhu2f5scwehpjjzerzpnphn3tzy4w2wjq

使用して疲れました。

grep -oh abcd.inst abcd.txt

しかし、出力は

abcd.inst

ベストアンサー1

grep -o一致するテキストのみを出力するので、grep -o abcd.instprintのみのabcd.inst解決策は正規表現を使用して出力全体をキャプチャすることです。grep -oP 'abcd.inst[^"]+'やりたいことをします。この-PフラグはPerlスタイルモードを有効にし、次の引用符と一致するようにモードを変更しました。これはリンクですパターンが何をするかを正確に説明するツールです。

おすすめ記事