Возможно, происходит что-то еще. ls
не должен использовать цвета, если не считает, что это связано с чем-то интерактивным. Это не должно раскрашивать вещи, когда вы подключаетесь к другой программе.
Псевдоним, как правило, плохая идея, потому что вы никогда не сможете избавиться от этой опции, и вы привыкнете к личным настройкам, которые вы, возможно, не сможете перенести с собой на какую-то другую машину, на которой вам придется работать. Если вам нужно отключить его, чтобы передать его чему-то другому, используйте переключатель в этом канале. Но цветов не должно быть в трубе.
Для ls
проверьте, поддерживает ли ваш компьютер переменную окружения LS_COLORS
. trapd00r/LS _ЦВЕТА показывает, как это работает. dircolors позволяет настраивать цвета поминутно и для каждого типа файла. Если вы не установили LS_COLORS
, но включили раскрашивание, ls
сделает кучу системных вызовов, чтобы выяснить типы файлов и атрибуты, чтобы понять, что нужно раскрасить. Разработчики Sherlock обнаружили, что настройка LS_COLORS
позволяет избежать всего этого и дает 40-кратное увеличение скорости . Прочитайте их кровавые подробности, чтобы увидеть, что они нашли.
Я заставляю все типы файлов использовать цвета по умолчанию:
$ export LS_COLORS='bd=0:ca=0:cd=0:di=0:do=0:ex=0:pi=0:fi=0:ln=0:mh=0:no=0:or=0:ow=0:sg=0:su=0:so=0:st=0:tw=0:'
Вот файл LS _COLORS, который я передал в dircolors:
BLK 0
CAPABILITY 0
CHR 0
DIR 0
DOOR 0
EXEC 0
FIFO 0
FILE 0
LINK 0
MULTIHARDLINK 0
NORMAL 0
ORPHAN 0
OTHER_WRITABLE 0
SETGID 0
SETUID 0
SOCK 0
STICKY 0
STICKY_OTHER_WRITABLE 0
Для grep
,посмотрите, поддерживает ли ваш GREP_COLORS
или GREP_OPTIONS
.
Несмотря на то, что это HTML, а не правильный XML, вы можете сделать это с помощью xmlstarlet
.
Назовем ваш файл index.html
. Вызов команды:
xmlstarlet fo -H index.html 2>/dev/null |
xmlstarlet sel -t -v '//a[@title="view quote" and string-length(text()) > 1]' -n 2>/dev/null
Выход:
Everything in life is luck.
The first thing the secretary types is the boss.
Возможно, вы раньше не встречали xmlstarlet
. Это замечательный инструмент, который позволяет форматировать, редактировать и анализировать XML. Сегодня я обнаружил, что он также может переформатировать плохо сформированный HTML. Если у вас его нет, установите его. (Если у вас нет прав на его установку, спросите. )Он понимает XML таким образом, с которым sed
и awk
не могут справиться. Переформатировать XML? sed
и awk
вполне могут сломаться, но xmlstarlet
не видит существенной разницы.