tldr | xclip出力がタイムスタンプのエスケープコードのように見える理由とそれを削除する方法は?

tldr | xclip出力がタイムスタンプのエスケープコードのように見える理由とそれを削除する方法は?

質問

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(バスター)
  • カーネル: Linux 4.19.0-17-amd64
  • アーキテクチャ:x86-64

ベストアンサー1

これはタイムスタンプではありません。カラーコードです。

~によるとv0.91 変更ログ、2021年7月には、環境変数をtldr設定するか、新しいコマンドラインオプションを使用して色を無効にする機能が組み込まれています。NO_COLOR--no-color

残念ながらtldrv0.91たくさんDebian の現在のバージョン (0.6.4) よりも新しいバージョンなので、Debian パッケージを削除し、直接コンパイル/インストールする (*) 新しいバージョンのパッケージ化を要求するバグレポートを送信してください。または両方。

これが長期的な解決策です。短期的には、sed@GMasterの答えのような出力からカラーコードを削除する方法を使用するのが最善の選択肢です。

(*)通常、プログラムのパッケージバージョンから独自のコンパイルバージョンに切り替えることはお勧めできません(これにより、互換性の問題や将来のアップグレードの問題が発生する可能性があります)。ただし、無効にすることができないハードコードされたカラーコードはUIを迷惑にします。逆重い。

おすすめ記事