이 sed 명령은 무엇을 합니까?

이 sed 명령은 무엇을 합니까?

누군가 sed이 명령이 무엇을 달성하려고 하는지 설명할 수 있습니까?

sed 's/^[[:space:]]*//;s/[[:space:]]*$//

줄의 시작 부분에서 공백 문자를 검색한다는 것을 알고 있지만 무엇을 해야 할지 알 수 없습니다.//;s/[[:space:]]*$//

답변1

여기에는 두 가지 명령이 있습니다 s. sed세미콜론으로 구분된 명령 목록을 사용할 수 있습니다. 다음과 같이 동일한 내용을 스크립트 파일에 넣을 수 있습니다.

s/^[[:space:]]*//
s/[[:space:]]*$//

또한 s명령을 잘못 구문 분석 했습니다 s.찾다, 이것은바꾸다: 두 개의 매개변수, 일치시킬 문자열과 ()로 대체할 문자열을 사용합니다 s/find/replace/.

그래서, s/^[[:space:]]*//그것은 의미합니다

s                (substitute)
/^[[:space:]]*/  (leading whitespace)
//               (with an empty string)

두 번째 명령의 s/[[:space:]]*$//의미후행 공백을 빈 문자열로 바꾸기.

답변2

내가 아는 한 이것은 단지 대체 체인일 뿐입니다. 먼저 선행 공백을 모두 제거한 s/^[[:space:]]//다음 계속 적용하여 s/[[:space:]]$//모든 후행 공백을 제거합니다.

관련 정보