>

머리와 sed는 색상 코드를 실제 문자로 취급합니다. 입력에서 실제로 보이는 첫 n 개의 문자를 얻으려면 어떻게해야합니까?

  • 답변 # 1

    아주 효율적이지 않지만 GNU awk , 다음과 같은 작업을 수행 할 수 있습니다.

    gawk -v RS='\033\\[[;[:digit:]]{0,16}[[:alpha:]]|.' -v ORS= -v count=123 '
      {n += RT ~ /^[[:print:]]$/}; n > count {exit}; {print RT}'
    
    

    (여기서 count  얻고 자하는 문자 수입니다.)

    head -c 동안  바이트 수로 계산되며 위의문자 수로 계산됩니다.

    우리는 줄 바꿈, 캐리지 리턴 또는 탭과 같은 제어 문자와 \e[123;123x 형식의 이스케이프 시퀀스 만 고려하고 있습니다.  색깔과 같은 것 ( x   m 입니다 ) 또는 커서 위치 ( x )   H 입니다 ).

  • 이전 bash - 부모 셸을 종료하지 않고 고아 프로세스를 만드는 방법은 무엇입니까?
  • 다음 package management - OpenSSH 클라이언트 만 빌드