mycommand | awk '{sub(/^\./, "", $4);print $1,tolower($3),$4}'
Те "странные символы" являются escape-последовательностями для окраски вывода.
Это распечатает то число в синем цвете:
echo -e '\033[01;34m1010729039145\033[0m'
Посмотрите man console_codes
для получения дополнительной информации.
Можно сказать ls
в которых случаях это должно быть цвета вывода:
--color[=WHEN]
colorize the output; WHEN can be 'never', 'auto', or 'always' (the default); more info below
Похож на Ваш ls
на самом деле псевдоним для ls --color=always
. (Введите type ls
проверить.)
Обычно ls --color=auto
сделает правильную вещь: Это распечатает цвета на экране, но не в файлы.
Если Вы действительно хотите цвет в своем файле, Ваш должны решить, если Вы хотите видеть фактические escape-последовательности или интерпретируемые цвета.
Например, less
команда примет значение по умолчанию к печати фактических последовательностей, но можно сказать ей показывать цвета вместо этого с -R
опция:
-R or --RAW-CONTROL-CHARS
Like -r, but only ANSI "color" escape sequences are output in "raw" form.
Попробовать less textfile
по сравнению с. less -R textfile
.