grep + regexの助けが必要です。

grep + regexの助けが必要です。

私は2つの連続したeと2つのy(存在する場合)を含む単語のセットを見つけようとしています。しかし、これまで私は次のコマンドを試しました。

grep -e '[y&y].*[ee]' -e '[y&y].*[ee]' words2.txt 
grep -e 'y.y' -e 'ee' words2.txt
grep -X '.*[y.y].*&.*[ee].*' words2.txt 
grep -X '.[*y.y].*&.[*ee].*' words2.txt

これらのコマンドのいくつかは、2つのyまたは2つの連続したeを提供しますが、2つの条件のうちの1つを含む単語は提供しません。今どうすればいいですか?

ベストアンサー1

あなたのファイルが次のようになるとします。

beeyy yeey open iee eey yeefy
funny reenydy jyyee

words2.txtはい、内容は少しランダムです。これにより、連続した文字eeと2つの文字を含むy単語のセットが表示されます。

< words2.txt tr ' ' '\n' | grep 'ee' | grep 'y.*y'

これにより、最初に各単語が1行にあることを確認し、trsgrepは2つの連続した単語を表し、e再びgrepsは2つの(非連続的な)単語を表しますy。それぞれがフィルタなので、最終結果はgrepContinuousとTwoを含む単語のセットです。eey

私の入力によると、結果は次のようになります。

beeyy
yeey
yeefy
reenydy
jyyee

おすすめ記事