제가 해결할 수 없는 또 다른 문제는 모든 그리스 문자가 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인 모든 줄을 필터링합니다.
- 두 번째 grep을 사용하여 반복되는 문자가 있는 모든 단어를 필터링합니다.
egrep '^.{5}$' greek.txt | egrep -v '^.*(.).*\1.*$'
댓글에서 최적화를 지적한 @StephaneChazelas에게 감사드립니다.
grep -x '.\{5\}' | grep -v '\(.\).*\1'
답변2
나는 당신이 올바른 길을 가고 있다고 생각하지만 슬래시가 잘못된 방향으로 가고 있어 역참조가 되고 있습니다. \1
아니오를 사용하십시오 /1
!