次を使用して、ターミナルの出力をファイルにリダイレクトしています。
Command > File.txt
しかし、ファイルの内容は次のように表示されます。
何が問題ですか?どうすればそれらを正常に見せることができますか?
実行しているコマンド(minicom
)は、「VT100エスケープシーケンス」を使用してカーソルの位置決めを行っています。
上記の文字を削除するには、ファイルをパイプ処理します
sed -e 's/^[\[[0-9][0-9];[0-9][0-9]H//'
# ^^ actual ESCape
入力してエスケープしました Ctrl-VEsc。
これらは、ターミナルドライバーによって解釈されるターミナルエスケープシーケンスです。プログラムからの出力はファイルに保存されるため、(minicom
)プログラムは、STDOUTの出力先を確認せずに、エスケープシーケンスも誤ってダンプします。
エスケープシーケンスを削除するには、sed
を使用して23;80H
を含む行を削除します。dry-run:
sed '/23;80H/d' file.txt
変形:
sed -i '/23;80H/d' file.txt
拡張子を付けてバックアップを保持したい場合.bak
、実行:
sed -i.bak '/23;80H/d' file.txt
これは、出力ファイルのcharacter encodingをTF-8に設定していないために発生します。
/ etc/*ファイルを変更できない場合、
gnome-terminalメニューを手動で設定できますTerminal | Set Character Encoding to nicode(Utf-8)
このstackoverflowから得られた回答 link