На моей машине Debian здесь, less
всегда открывает альтернативный экран для показа материала.
Это является раздражающим, если существует только 2 или 3 строки, которые будут отображены. Я хотел бы less
кому:
работайте пейджером, если существуют больше, чем экранная из информации
и работа как cat
, если нет.
По-видимому, less
имеет -F
флаг для случаев "одного экрана":
- F или - quit-if-one-screen
Причины меньше, чтобы автоматически выйти, если весь файл может быть отображен на первом экране.
Но в моем случае это просто выходит снова, и никакая информация не отображена. Это больше похоже cat /dev/null
и таким образом не действительно полезный.
Имеет любого идея, как достигнуть этого less
поведение?
Вы могли создать маленький сценарий обертки, как так:
#!/bin/bash
if (( $(wc -l < "$1") < ${LINES:-20} ))
then
cat "$1"
else
less "$1"
fi
Если Вы создаете это в /usr/local/bin
или ~/bin
поскольку файл назвал что-то как less2
(Вы могли бы хотеть использовать очень краткое название как l
для легкого ввода), и удостоверяются, что это - исполняемый файл с chmod a+x /usr/local/bin/less2
, можно использовать его вместо less
для команд формы less filename
, т.е. less2 filename
(или l filename
).
Это не будет работать при передаче по каналу вывода другой команды через less
, или если Вы указываете опцию (опции) или несколько имен файлов.
Несомненно будет возможно сделать то же самое без дополнительного файла сценария путем определения псевдонима функция, если Вы предпочтете.