Shell 유 틸 리 티: 문자열 의 빈 칸 을 빠르게 제거 합 니 다.

1028 단어 Linux
UNIX 에서 sed 명령 을 사용 하여 문자열 처 리 를 할 때 자주 발생 하 는 문 제 는 줄 끝의 빈 칸 을 어떻게 삭제 하 느 냐 하 는 것 입 니 다.
sed 가 어떻게 이 루어 졌 는 지 소개 하 겠 습 니 다. 물론 awk 도 가능 합 니 다.
1 、 줄 첫 칸 삭제
 
   
sed ‘s/^[ \t]*//g'

설명:
첫 번 째/왼쪽 은 s 로 바 뀌 었 습 니 다. 빈 칸 을 빈 칸 으로 바 꿀 것 입 니 다.첫 번 째/오른쪽 은 뒤의 xx 로 시작 하 는 것 을 나타 낸다.중 괄호 는 '또는', 빈 칸 또는 tab 의 임 의 하 나 를 표시 합 니 다.이것 은 정규 표현 식 의 규범 이다.중 괄호 오른쪽 은 * 로 하나 이상 을 표시 합 니 다.
두 번 째 와 세 번 째 사이 에 물건 이 없다
g 는 원래 buffer (버퍼) 의 것 을 교체 하 는 것 을 표시 합 니 다. sed 는 문자열 을 처리 할 때 원본 파일 을 직접 처리 하지 않 고 buffer 를 만 듭 니 다. 그러나 g 는 원래 buffer 를 교체 하 는 것 을 표시 합 니 다.
전체 적 인 뜻 은 빈 문자 로 빈 칸 이나 tab 로 시작 하 는 본체 문자열 을 하나 이상 바 꾸 는 것 입 니 다.
2, 줄 끝 공백 삭제
 
   
sed ‘s/[ \t]*$//g'

위 와 조금 다른 것 은 앞에서 ^ 자 를 삭 제 했 고 뒤에 달러 자 를 붙 였 습 니 다. 이것 은 xx 로 끝 나 는 문자열 을 대상 으로 합 니 다.
하지만 KSH 에 서 는 Tab 이\t 가 아니 라 하나의 Tab 에 바로 들 어가 면 된다 는 점 을 주의해 야 한다.
3. 모든 빈 칸 삭제
 
   
sed s/[[:space:]]//g

좋은 웹페이지 즐겨찾기