Есть ли какой-нибудь разумный способ выделить 4-й, 5-й и 6-й столбцы справа от размера файла в ls -l
? Мое намерение состоит в том, чтобы облегчить чтение размера файла, будь то в байтах, КиБах или МиБах. Я знаю о -h
флаге, но нахожу, что интерпретировать буквы в конце гораздо сложнее, чем просто смотреть и видеть длину числа (величину). Это та же самая причина, по которой гоночные автомобили используют аналоговые циферблаты вместо цифровых.
Моя целевая оболочка - Bash. Спасибо.
РЕДАКТИРОВАТЬ: Я хочу выделить тысячи, десять тысяч и сто тысяч мест столбца размера. Как это: 123 456 789
lsl
связал его с некоторыми незначительными изменениями. На самом деле, ответ на этот вопрос будет сочетаться с вашей техникой там, в моемlsl
псевдониме.grep --color -E -- "$(ls -rtl $@ | tail -n4)|$" <(ls -l $@ | perl -pe 's{^((?:\S+\s+){4}\d*)(\d{3})(?=\d{3})}{$1\e[31;1m$2\e[m}')
Ответы:
Может быть что-то вроде:
Для черного (или любого другого цвета по умолчанию на вашем терминале) для размеров от 0 до 1023, зеленого от 1k до 1M, желтого для 1M до 1G, затем красного, фиолетового, синего.
Редактировать . На основании ваших отредактированных требований:
источник
Самый простой способ установки любого дополнительного программного обеспечения - это
grep --color
то, что вы хотите. Чтобы выделить размер файла из вывода ls, вы должны выполнить что-то подобное (иногда это будет выделять не только размер):В противном случае, пожалуйста, обратитесь к аналогичному вопросу о SO.
источник