sed/awk/python은 문자열 일치 후 문자 사이의 모든 공백을 바꿉니다.

sed/awk/python은 문자열 일치 후 문자 사이의 모든 공백을 바꿉니다.

초기 일치 후 문자 사이의 모든 공백을 제거하고 싶습니다. 예는 다음과 같습니다

exmpl 0 t h i s a r e t he spaces to d e l e t e
exmpl 1 m o r e spaces to d e l
exmpl 2 o r s m t h completely d i f f e r e n t
exmpl 12 y e t another l i n e

출력은 다음과 같아야 합니다.

exmpl 0 thisarethespacestodelete
exmpl 1 morespacestodel
exmpl 2 orsmthcompletelydifferent
exmpl 12 yetanotherline

초기 텍스트와 숫자 사이, 숫자와 후속 텍스트 사이의 공백도 탭 문자일 수 있습니다.

예를 들어 sed에서 첫 번째 부분과 두 번째 부분을 일치시킬 수 있습니다.

sed -i 's/\(exmpl\s*[0-9]*\s*\)\(.*\)/\1\2/'

하지만 \2의 모든 공백을 제거하는 방법을 알 수 없습니다.

답변1

sed를 사용하세요:

sed -e 's/ //3g' file

exmpl 0 thisarethespacestodelete
exmpl 1 morespacestodel
exmpl 2 orsmthcompletelydifferent
exmpl 12 yetanotherline

3경기부터 교체

관련 정보