Проблема
Я хочу скопировать вывод tldr в буфер обмена, а затем вставить его в текстовый редактор.
Я выполняю:tldr pwd | xclip -sel clip
При вставке из буфера обмена я получаю:
pwd
[0mPrint name of current/working directory.More information: https://www.gnu.org/software/coreutils/pwd.
- [23;22;24;25;32mPrint the current directory:
[23;22;24;25;33m pwd
[0m
- [23;22;24;25;32mPrint the current directory, and resolve all symlinks (i.e. show the "physical" path):
[23;22;24;25;33m pwd -P
[0m[0m
Я хочу избавиться от временных меток, а также хочу узнать, почему это происходит.
Наблюдение
tldr pwd
(без перехода в xclip) не отображает временные меткиman pwd | xclip -sel clip
не включает временные метки при вставке- Итак, я обнаружил, что это происходит только при передаче tldr в xclip
- Временные метки выглядят как коды выхода
Среда
- Статическое имя хоста: Debian
- Имя значка: компьютер-рабочий стол
- Корпус: настольный
- Операционная система: Debian GNU/Linux 10 (buster)
- Ядро: Linux 4.19.0-17-amd64
- Архитектура: x86-64
решение1
Это не временные метки. Это цветовые коды.
Согласноv0.91 Журнал изменений, tldr
в июле 2021 года была добавлена функция отключения цветов путем установки NO_COLOR
переменной среды или использования нового --no-color
параметра командной строки.
К сожалению, v0.91 tldr
измногоновее текущей версии в Debian (0.6.4)....так что либо удалите пакет Debian и скомпилируйте/установите его самостоятельно(*), либо отправьте отчет об ошибке с просьбой упаковать новую версию. Или и то, и другое.
Это долгосрочное решение. В краткосрочной перспективе использование sed
или что-то еще для удаления цветовых кодов из вывода (как в ответе @GMaster) — это, вероятно, лучшее, что вы можете сделать.
(*) Обычно я не предлагаю переходить с упакованной версии программы на самокомпилированную версию (потому что это, скорее всего, вызовет проблемы совместимости или проблемы с обновлением в будущем), но жестко заданные цветовые коды, которые нельзя отключить, — это мерзость пользовательского интерфейса.
решение2
Это цветовые коды, сгенерированные tldr
. К сожалению, tldr
нет возможности отключить цвета. Но вы можете передать вывод tldr
и sed
избавиться от цветовых кодов. Попробуйте это:
tldr pwd | sed $'s,\x1b\\[[0-9;]*[a-zA-Z],,g' | xclip -sel clip
Альтернативно, на основе упомянутого пакета jpa:
# install colorized-logs package (for ubuntu)
sudo apt install colorized-logs
tldr pwd | ansi2txt | xclip -sel clip