마지막 요소 뒤에 seq -s 구분 기호를 사용하는 이유는 무엇입니까?

마지막 요소 뒤에 seq -s 구분 기호를 사용하는 이유는 무엇입니까?

명령을 사용하여 Unix 쉘 튜토리얼에서 다른 예제를 시도했고 seq터미널에서 다른 결과를 얻었습니다.

주문하다:

seq -s '/' 1 5

결과:

1/2/3/4/5/

바꾸다

1/2/3/4/5

명령은 온라인에서 예상대로 작동하지만 bash내 방식 만 다릅니다.

답변1

macOS에 기본적으로 설치되는 비표준 유틸리티의 구현은 seqGNU 시스템의 coreutils 패키지 구현과 다릅니다. 애플 시스템seqFreeBSD에서.

-smacOS에서는 옵션에 대한 옵션 인수로 사용되는 문자열이 seq일반적으로 이 목적으로 사용되는 기본 줄 바꿈을 대체합니다. 즉, -s마지막 숫자를 포함하여 모든 숫자 뒤에는 문자열이 옵니다. 끝에 개행 문자를 삽입하려면 다음을 사용할 수 있습니다 -t '\n'(이 -t옵션은 GNU에서는 사용할 수 없음 seq). -s마지막 숫자 뒤에 구분 기호가 계속 추가됩니다.

$ seq -s '-->' -t '[end of list]\n' 1 3
1-->2-->3-->[end of list]

coreutils seq구현에서 with가 포함된 문자열은 숫자를 구분하는 데 사용되지만 -s마지막 요소는 항상 개행 문자로 종료됩니다.

seq구현의 이러한 차이점은 개발자의 선호도 및/또는 요구 사항으로 인한 것일 수 있지만 이는 단지 내 추측일 뿐입니다.

macOS에서는 Homebrew를 사용하여 coreutils seqgseq.

관련 정보