선행 공백을 제거하는 방법 | Unix 쉘 스크립트 |

선행 공백을 제거하는 방법 | Unix 쉘 스크립트 |

명령을 받을 수 없습니다. uniq -i -c명령을 사용한 후 아래 데이터에서 선행 공백을 제거하려면 어떻게 해야 합니까?

설명하다: 아래 데이터를 보면 제거하고 싶은 탭 공간이 2개 있다는 것을 알 수 있습니다.

노트:[출력은 다음과 같이 공유됩니다.]

파일의 데이터:

     2 00
     2 01
     2 00
     2 02
     1 03
     3 aa

산출:

2 00
2 01
2 00
2 02
1 03
3 aa

답변1

데이터를 로 파이프하면 sed 's/^[[:blank:]]*//'클래스에서 모든 선행 문자 [:blank:](예: 공백, 탭 또는 해당 로케일 종속 문자)가 제거됩니다.

를 사용하여 sed데이터에 정규식을 적용하여 ^[[:blank:]]*데이터를 비어 있는 것으로 변환합니다(마지막 두 슬래시 문자 사이에 아무 것도 없기 때문입니다). 정규식에서는 ^줄의 시작을 나타내며 *가능한 이전 클래스와 일치하므로 [:blank:]처음부터 최대한 많은 문자를 일치시킵니다.

관련 정보