Удалить левое дополнение номеров строк в меньшем количестве

Вы можете удалить файл после запуска, если команда не удалась, с помощью

myAPICommand parameters > myFile.txt || rm myFile.txt

Но я бы предложил вместо этого стереть файл:

myAPICommand parameters >| myFile.txt

См. Что такое операторы управления и перенаправления оболочки? для получения подробной информации.

5
13.12.2020, 18:23
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, определено в заголовочном файле less.hкак 7, что достаточно для сохранения выравнивание чисел для файлов с менее чем десятью миллионами строк. Если вы найдете это чрезмерным, вы всегда можете изменить его и перекомпилировать.

7
18.03.2021, 22:43

Теги

Похожие вопросы