0

いくつかの言語で異なる 3 つの母音の組み合わせの数を調べようとしています。grep を使用して、テキスト ファイル内の 3 つの母音の発生を分離しました。これは私が使用したコードです:

'[aeuioj]{3}' *file name* -o 

人々が以前にこれを行ったことがあることがわかりました。以下のリンクを参照してください

egrep を使用して正規表現に一致する単語を一覧表示するにはどうすればよいですか?

ここで、すべての繰り返しを出力から除外する必要があります。これにより、特定の言語の 3 つの母音の組み合わせすべてのリストが残るはずです。私はgrepが初めてです。

ありがとう、

StWS

4

1 に答える 1

1

ここでは、grep + perl+uniqの組み合わせを使用できます。

cat words.txt | grep -E '[aeiou]{3}' | perl -pe 's/(.*)([aeiou]{3})(.*)/$1$2$3 $2/' | uniq -f 1

それが何をするか:

  1. Grepはフィルタリングしているため、3つの隣接する母音を持つ単語のみが表示されます
  2. Perlは、これら3つの母音を抽出し、行の最後(スペースの後)に配置しています。例:

    $ echo "gooad" | perl -pe 's/(.*)([aeiou]{3})(.*)/$1$2$3 $2/'
    goood ooa
    
  3. Uniq -f 1は、2番目の列(スペースの後)を比較し、一意の行のみを選択しています。
于 2013-02-28T12:06:18.797 に答える