Bash:カラーコピー/ペースト


12

みんなと同じように、bashには色付きの出力がいくつかあります。たとえば、抽出物をHTMLエディターにコピーするときに、色分けされた構文を保持したいと思います。これを処理する方法はありますか?

ありがとう。

回答:


16

あなたがのようないくつかのコマンドラインユーティリティの色付け出力について話している場合はlsgrepcmakegit diff、など、ノートでは、それはGNU bashに任意の関係を持っていないことをしてください。

とにかく、ANSIエスケープシーケンスで色付けされた出力をHTMLに変換するためのツールがいくつかあります。

  • aha 同名のパッケージから
  • ansi2htmlHTML :: FromANSIのPerlモジュール(Ubuntuのレポでパッケージングされない、CPANからインストールすることができます)
  • ansi2html.shpixelb(パッケージ化されていない、gitのからダウンロードしてください)

それらのすべての使用法はかなり簡単ですstdin。HTML からに端末エスケープシーケンスを読み取り、HTMLを配置しますstdout。ただし、注意:ほとんどのutilsは、ターミナルに行かない場合、出力を色付けしません。カラー化された出力を明示的に生成するには、それらを注文する必要があります。例:

$ ls --color=always | aha | xsel -i -b

xsel -i -b ここでは、HTMLをクリップボードにコピーします。


これ(aha)は美しく働きました。どうもありがとうございました!
シュリーバツァー

2
ああ-素晴らしい!これは私にとってほぼ完璧です。フォーマットされたテキストをコピーできるように、私はtmpにルーティングし、ブラウザで開き、他のサイトと同じようにコピー/ペーストするように適応しました:git -c color.ui=always diff | aha > /tmp/diff.html && firefox /tmp/diff.html ...そしてはい、OPがhtmlを望んでいたことは知っていますが、私たちの多くは一般的にフォーマット。
セージ

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.