grepを使って周辺コンテキストの一部として単語を見つける方法は?

grepを使って周辺コンテキストの一部として単語を見つける方法は?

grepを使用して、検索コンテンツの前後に表示する必要がある文字数を決定したいと思います。たとえば、「This is an example」行で「Example」をフィルタリングしたいとします。結果を使用すると、grep exampleその文字列を含むすべての行になり、私が得たいものは」一例」、言葉の前の二文字はい

ベストアンサー1

grepオプションがあります

grep -Eo '...example' test.txt

どこ

  • -E拡張正規表現の使用
  • -o一致する文字列のみ出力
  • ...3 つの文字を表します。
  • 2つのオプションを次のように組み合わせることができます。-Eo
  • シェル置換を避けるための「」サラウンドパターン

推奨事項に応じて3文字以下に置き換えてください。

grep -Eo '.{,3}example' test.txt

これは、x{a,b}aとbの間にxが現れることを意味します。

  • .{,3}最大3つのランダム文字
  • X{2,10}2~10個の連続X(大文字X)
  • [xy]{5}xまたはyの正確に5つ

シェルの交換に関する注意事項

grep -Eo ???example file

123examplegrepが実行されているディレクトリに同様のファイルが存在する場合、期待どおりに機能しない可能性があります。

おすすめ記事