이 정렬 명령은 무엇을 의미합니까? 고양이 임시.txt | 정렬 -t$'\t'

이 정렬 명령은 무엇을 의미합니까? 고양이 임시.txt | 정렬 -t$'\t'

정렬 매뉴얼 페이지에서 -t는 필드 구분 기호를 지정하는 데 사용됩니다. 그런데 그 형식이 무엇을 의미하는지 모르시나요 -t$'\t'?

답변1

Bash ANSI-C 인용. 이와 같이 문자열을 래핑하면 $'string'C 문자열과 동일한 규칙으로 확장됩니다. 귀하의 경우에는 $'t'그냥 이 되지만 't', 그렇다면 $'\t'탭 문자가 됩니다. 이는 큰따옴표를 사용하는 것과 약간 다릅니다. "string"큰따옴표는 bash 대체(예: 변수 확장)를 허용하기 때문 입니다.

답변2

-t 옵션 뒤의 '$'는 표현에 7비트 이상을 사용하는 문자를 지정하는 데 사용됩니다. 예를 들어 개행의 경우 '\n', 탭의 경우 '\t'입니다. 다음과 같이 하면:

sort -t '\t' 

Sort는 문자 그대로 '\'와 't'를 읽으려고 하기 때문에 너무 많은 문자를 사용하고 있다는 오류를 인쇄합니다.

따라서 귀하의 예에서는 백슬래시가 생략되었습니다.

예를 들어 cut 명령과 동일합니다.

cut -d$'\t' 

관련 정보