2016-06-14 3 views
1

문자열이 a aa aaa aaaa 인 텍스트 파일이 있습니다. 이것을 a a a a으로 줄이려고합니다. 그러나 sed -i 's/aa/a/g' filename을 사용하면 a a aa aa이됩니다. 연속되는 모든 문자를 어떻게 하나의 문자로 통합 할 수 있습니까?연속 문자를 제거하는 방법은 무엇입니까?

답변

3

a 다음으로 any numbera으로 검색해야합니다. 그에 대한 검색 패턴이 aa*입니다 :

$ echo "a aa aaa aaaa bbbb cc" | sed 's/\(.\)\1*/\1/g' 
a a a a b c 
:

$ echo "a aa aaa aaaa" | sed 's/aa*/a/g' 
a a a a 

더 복잡한 정규식, group capturing를 사용하여, any character의 수와 일치 할 수 있습니다

관련 문제