"cat" 명령의 탭 크기 변경

"cat" 명령의 탭 크기 변경

내가 들어가면 다음을 vim사용하여 탭 크기를 변경할 수 있습니다.

:set ts=4

cat명령 출력의 탭 크기 도 설정할 수 있습니까?

답변1

첫 번째 명령은 여기에 있습니다.본뜨다에 표시되는 형식입니다 vim. 4개 열마다 탭 정지(ts) 설정을 기반으로 탭을 동일한 수의 공백으로 지능적으로 확장합니다.

printf "ab\tcd\tde\n" |expand -t4   

산출

ab  cd  de

유지하기 위해서는~처럼그리고 탭이 있어요멈추다위치가 4개 열마다로 설정된 경우 환경에서 tab-char를 사용하는 방식을 변경해야 합니다(vim이 명령을 사용하는 것처럼 :set ts=4).

예를 들어 터미널에서는 탭을 설정할 수 있습니다멈추다4로 변경하려면 이 명령을 사용하십시오.

tabs 4; printf "ab\tcd\tde\n" 

산출

ab  cd  de

답변2

다음 코드를 사용하세요.

tabs -n

여기서 n은 탭 문자에 대응할 공백 수입니다. 셸을 시작할 때마다 이 작업을 수행할 필요가 없도록 하려면 위 줄을 편집하여 .bash_profile파일 ~/끝에 추가하면 됩니다.

탭 명령에 대한 자세한 내용은 다음을 참조하세요.

man tabs

답변3

; 에는 탭이나 탭 정지 개념이 없습니다 cat. 이 프로그램은 단순히 입력을 출력으로 퍼널하고 탭을 다른 문자로 처리합니다. 출력 장치가 터미널인 경우 탭은 터미널 구성에서 제공하는 동작에 따라 처리됩니다.

tabs(1)POSIX.1을 구현하는 시스템에는 터미널이 탭 개념을 표시하는 방법을 조정하는 명령이 있습니다 . 특정 탭 레이아웃에 따라 다른 사람이 파일을 다른 장치(예: 예상한 대로 작동하지 않는 프린터)로 보낼 수 있으므로 좋은 생각으로 간주되지 않습니다.

ts에서 vim(또는 일반 ) 조정할 때 vi해야 할 일은 표시될 때 편집기가 탭 문자를 해석하는 방식을 조정하는 것뿐입니다. 파일의 최종 내용과는 아무런 관련이 없습니다.

답변4

이미 제공된 답변을 확장하려면 expand탭 정지 위치 목록을 얻을 수도 있습니다. 이는 개별 열의 콘텐츠 길이가 크게 다를 경우 유용합니다.

오늘 출력을 더 읽기 쉽게 만들고 싶었을 때 openssl ciphers다음 요구 사항을 발견했습니다.

$ openssl ciphers -v 'HIGH'|tr -s ' ' '\t'|expand -t31,41,57,70,90
ECDHE-RSA-AES256-GCM-SHA384    TLSv1.2   Kx=ECDH         Au=RSA       Enc=AESGCM(256)     Mac=AEAD
ECDHE-ECDSA-AES256-GCM-SHA384  TLSv1.2   Kx=ECDH         Au=ECDSA     Enc=AESGCM(256)     Mac=AEAD
ECDHE-RSA-AES256-SHA384        TLSv1.2   Kx=ECDH         Au=RSA       Enc=AES(256)        Mac=SHA384
ECDHE-ECDSA-AES256-SHA384      TLSv1.2   Kx=ECDH         Au=ECDSA     Enc=AES(256)        Mac=SHA384
...
ECDH-ECDSA-AES128-SHA          SSLv3     Kx=ECDH/ECDSA   Au=ECDH      Enc=AES(128)        Mac=SHA1
AES128-GCM-SHA256              TLSv1.2   Kx=RSA          Au=RSA       Enc=AESGCM(128)     Mac=AEAD
AES128-SHA256                  TLSv1.2   Kx=RSA          Au=RSA       Enc=AES(128)        Mac=SHA256
AES128-SHA                     SSLv3     Kx=RSA          Au=RSA       Enc=AES(128)        Mac=SHA1

CAMELLIA128-SHA                SSLv3     Kx=RSA          Au=RSA       Enc=Camellia(128)   Mac=SHA1
PSK-AES128-CBC-SHA             SSLv3     Kx=PSK          Au=PSK       Enc=AES(128)        Mac=SHA1

only를 사용하면 expand -t31출력 너비가 약 100자에서 160자 이상으로 확장됩니다.

관련 정보