Каждый раз, когда некоторая команда генерирует длинные линии, как произведено (например, когда ls -l
папка, которая содержит файлы с длинными именами), длинные линии перенесены к следующей строке, таким образом портя структуру столбца.
Есть ли какой-либо способ избежать этого? Что-то сродни 'nowrap' опции энергии?
обновление
Я заметил проблему с принятым ответом:
если я делаю псевдоним как: alias ll="tput rmam; ls -l; tput smam"
и затем попробуйте к grep, он производится: ll | grep foo
это все еще распечатает все файлы, как без grep.
Решение, которое я нашел, состоит в том, чтобы поместить скобки вокруг целого псевдонима:
alias ll="(tput rmam; ls -l; tput smam)"
Обратите внимание, что это не имеет никакого отношения к удару (после того как Вы запустили команду, удар просто ожидает его для окончания), и все, чтобы сделать с терминалом.
Большинство эмуляторов терминала переносится в правом поле по умолчанию. Но это может быть выключено при помощи соответствующей управляющей последовательности, если эмулятор терминала поддерживает ее; затем длинные линии являются просто усеченными:
printf '\033[?7l'
ls -l /a/folder/that/contains/files/with/long/names
printf '\033[?7h'
Если требуется смочь сделать горизонтальную прокрутку вместо того, чтобы усечь строки, использовать less -S
.