Gui

為什麼選擇 tldr |xclip 輸出看起來像時間戳的轉義碼,以及如何刪除它?

  • October 24, 2021

問題

我想將 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

這些不是時間戳。它們是顏色程式碼。

根據v0.91 變更日誌tldr在 2021 年 7 月合併了一項禁用顏色的功能,方法是設置NO_COLOR環境變數或使用新的--no-color命令行選項。

tldr不幸的是,v0.91比 Debian 中的目前版本(0.6.4)新得多……所以,要麼解除安裝 Debian 軟體包並自己編譯/安裝它(*),要麼送出一個錯誤報告,詢問新版本被包裝。或兩者。

這是長期的解決方案。在短期內,使用sed或從輸出中刪除顏色程式碼(如@GMaster 的回答)可能是你做的最好的。

(*) 我通常不建議從程序的打包版本切換到自編譯版本(因為這樣做可能會導致兼容性問題或將來升級的問題),但是硬編碼的顏色程式碼可以’ t 被禁用是 UI 可憎的。

引用自:https://unix.stackexchange.com/questions/674450