2013-07-13 6 views
-1

리눅스의 파일에서 탭을 사용하여 세 개 이상의 연속 공백을 모두 변경할 수 있습니까?3 개 이상의 연속 공백을 리눅스의 탭으로 대체하십시오.

+0

, 당신을했다. 멈추고 생각해보십시오 : 3 칸 간격을 탭으로 바꿔야합니까? 또는 3 개 이상의 공백이 하나의 탭으로 대체 될 때마다 발생합니까? 어떤 텍스트 뒤에 공백이 있으면 어떻게합니까? 이중 따옴표 안에 있으면 어떻게 될까요? –

+0

3 개 이상의 연속 된 공백이 하나의 탭으로 대체됩니다. 나는 실제로 리눅스 명령을 전혀 모른다고 생각했다. "foo bar foo"와 같은 텍스트 행이있는 경우처럼 연속 된 공백 문자의 두 인스턴스를 단일 탭으로 바꿉니다. 내 파일에는 큰 따옴표도 없습니다. 편집 : stackoverflow 과도한 공백을 삭제하는 것 같습니다. 예제 라인의 막대 앞과 뒤에는 3 개 이상의 공백이 있어야합니다. – Afterglow375

+0

하지만 한 칸이나 두 칸을 탭으로 바꾸지 마십시오. – Afterglow375

답변

0

공백을 먹는 것으로부터 stackoverflow를 막을 수 있습니다. 3 a를 하나의 x로 바꾸고 싶다고 가정하십시오.

예를 들어 데이터 : 나오지

echo "123aa456aaaaaa789aa0aa" > foofile 

사용 정규식 :

sed -r 's/aaa+/x/g' foofile 

출력 당신은 정말 통해이를 생각하지 않았다

123aa456x789aa0aa 
관련 문제