LinuxボックスでPuTTYを介して「ls-l」を実行すると、きれいできれいな色の出力が得られます。
しかし、同じようにプログラムでplinkを試してみると、あらゆる種類の制御シーケンスを取得することになり、おそらくそれらの色の値を示しています。
どういうわけか、色のこれらの余分なシーケンスを送信せず、プレーンテキストを出力するように端末オプションを設定できますか?
[00mtotal 8956
drwxr-xr-x 8 pradymn users 4096 2010-07-23 12:29 [01;34mtestsb1[00m
drwxr-xr-x 5 pradymn users 4096 2010-07-24 22:49 [01;34mtest1[00m
-rw-r--r-- 1 pradymn users 9143013 2010-07-24 23:03 [00;31mtest1.tar.gz[00m
これはおそらく、色を表示するようにlsを設定する方法に関連しています。あなたがそれを投稿することができれば、私たちはもっと役立つかもしれません。
お気に入りのシェルプロファイルファイル(.bashrc)で以下を使用することをお勧めします:alias ls="ls --color=auto"
または、カラー出力が必要ない場合は、--color=never
を使用してlsを呼び出すことができます。
もう1つの方法は、コンソールとplinkの間に配置され、ANSIカラーコードをオンザフライで変換する ansicon ユーティリティを使用することです。
$ ansicon.exe plink.exe user@Host
次のJava正規表現(例)を使用して、ANSIエスケープシーケンスを削除できます。
\\[..;..[m]|\\[.{0,2}[m]|\\(Page \\d+\\)|\u001B\\[[K]|\u001B|\u000F
ロブの答えに追加するには:
ANSIエスケープシーケンスは、ターミナルエミュレータプログラム(または実際のハードウェアターミナル)によって解釈される必要があります。 PuTTYは、1つのプログラムでターミナルエミュレーターとSSHクライアントの両方です。
ただし、plink
は、生のバイナリデータを転送するように設計されたSSHクライアントにすぎません。 ITはANSIシーケンスを解釈せず、実行中の端末に渡すだけです。Windowsでは、端末は です。 Windowsコンソール —そしてANSIもサポートしていません。
コマンドラインからSSHを使用する場合は、CygwinバージョンのOpenSSHを試してください。 PuTTYはコマンドラインからも起動できます。