私が解決できないもう1つの問題は、すべてのギリシャ文字に5つの固有の文字があることです(つまり、各文字は一度だけ表示されます)。
私の解決策:
egrep '(.)([^/1])([^/1/2])([^/1/2/3])([^/1/2/3/4])' greek.txt
だから私が言いたいのは次のとおりです。
最初の文字と一致します。
各連続文字は、前のパターンのいずれかにすることはできません。
しかし、結果は次のようになります。
alpha
gamma
delta
epsilon
theta
kappa
lambda
omicron
sigma
upsilon
omega
アルファ、ガンマ、その特性は一意ではありません。私が間違っていることについてのヒントやヒントがありますか?
答え1
- grepを使用して、長さが!= 5のすべての行をフィルタリングします。
- 2番目のgrepを使用して、繰り返される文字を含むすべての単語をフィルタリングします。
egrep '^.{5}$' greek.txt | egrep -v '^.*(.).*\1.*$'
コメントで最適化を指摘した@StephaneChazelasに感謝します。
grep -x '.\{5\}' | grep -v '\(.\).*\1'
答え2
私はあなたが正しい道を行っていると思いますが、スラッシュが間違った方向に行っているので、逆参照になっています。\1
いいえを使用してください/1
!