줄 번호의 왼쪽 패딩을 더 적게 제거하십시오.

줄 번호의 왼쪽 패딩을 더 적게 제거하십시오.

-N스위치를 안쪽으로 전환하면 less줄 번호가 표시됩니다. 그런데 전체 행 수가 적음에도 불구하고 불필요하게 많은 양의 패딩이 추가되는 것 같습니다. 예를 들어 man less줄 번호가 활성화된 출력은 다음과 같습니다.

      1 LESS(1)
      2
      3 NAME
      4        less - opposite of more
      5 
      6 SYNOPSIS
      7        less -?
      8        less --help
      9        less -V
     10        less --version
     11        less [-[+]aABcCdeEfFgGiIJKLmMnNqQrRsSuUVwWX~]
...
    940       Version 487: 25 Oct 2016 

총 행 수를 채우는 데 필요한 최소 양을 제어하거나 줄이는 방법이 있습니까?

프로그래밍 방식의 솔루션(예: 파이프 등)을 추구할 수 있다는 것을 알고 있지만, cut이 동작을 제어하는 ​​스위치나 구성 매개 변수가 있는지 궁금합니다.

답변1

고쳐 쓰다

해당 기능이 Less에 즉시 추가되었습니다.추가 명령줄 옵션 형태로, --line-num-width=N.아래 원래 답변은 Less 버전 570 이전에 유효했습니다.커밋 기록.


원래 답변

아니요, 패딩을 줄이는 옵션은 없습니다. 패딩이 들어있어요line.c소스 코드 파일:

/*
 * Display the line number at the start of each line
 * if the -N option is set.
 */
if (linenums == OPT_ONPLUS)
{
    char buf[INT_STRLEN_BOUND(pos) + 2];
    int n;

    linenumtoa(linenum, buf);
    n = (int) strlen(buf);
    if (n < MIN_LINENUM_WIDTH)
        n = MIN_LINENUM_WIDTH;
    sprintf(linebuf+curr, "%*s ", n, buf);
    n++;  /* One space after the line number. */
    for (i = 0; i < n; i++)
        attr[curr+i] = AT_BOLD;
    curr += n;
    column += n;
    lmargin += n;
}

MIN_LINENUM_WIDTH헤더 파일에 7로 정의된 패딩 양은 less.h천만 줄 미만의 파일에 대한 숫자 정렬을 유지하기에 충분합니다. 너무 많다고 생각되면 언제든지 변경하고 다시 컴파일할 수 있습니다.

관련 정보