2016-09-30 9 views
0

いくつかのcisco設定を保存するには、show run> filenameを実行しています。それは正常に動作しますが、保存設定には、私を悩ます印刷不能な文字があります。ファイル内の^ H^H文字を削除するには?

それは、このように(またケイトのような他のプログラムに)VIMに表示されます。

aaa new-model 
--More-- ^H^H^H^H^H^H^H^H^H  ^H^H^H^H^H^H^H^H^H! 
! 
aaa authentication login default local 

代わり

aaa new-model 
! 
! 
aaa authentication login default local 

のウィキペディア(here)によると、この文字はbackpsaceのキー入力を表し、 「less」などのプログラムは、適切な読み取り可能な形式で提示します。 これが起点で修正できるかどうかわからない、または少なくともvimで無効になっている場合は、いかなる提案も歓迎です。

+0

、それはあなたがfillcharとすることを設定することは可能ですか? – TankorSmash

+0

設定をダンプする前に 'terminal length 0'と入力すると、すべての画面が表示された後で一時停止しません。 –

+0

私はautocommand show runningを使用していますが、この場合instruccionsは1行のみですので、ターミナルの長さ0を実行できません。 – user322049

答えて

2

あなたはそれらのすべてを単に置き換えることができます。例えば、

:%s/<C-v><C-h>//g 

<C-v><C-h>は、それぞれCTRL-VとCTRL-Hを意味することに留意されたいです。これにより、代替コマンドに印刷不可能な文字(<C-h>など)を挿入することができます。

はすべて削除されますが、最初の場所に理由がわからないため、結果が完全にフォーマットされることは保証できません。ここで

+0

残念ながら、vimは「E486:パターンが見つかりませんでした」と言っています。入力したテキストではありません。 user322049

+0

@ user322049 です。それは制御-vに続いて制御-h – DJMcMayhem

+0

私は最終的にそれをテストすることができましたが、vimにもかかわらず、どちらも動作しません:s/^ H // g、 "E486:Pattern not found:"私はちょうどhttps://gist.github.com/7da907cef37078056965b4b18547a135をチェックアウトしたい場合は、ここにファイルをアップロードしました – user322049

0

は、単純に消去文字(cat -vはVIMでファイルを開くに似キャレット表記の制御文字を表示するために使用される)などの文字を処理しようとするスニペットです:

bash$ cat -v file 
aaa new-model 
--More-- ^H^H^H^H^H^H^H^H^H  ^H^H^H^H^H^H^H^H^H! 
! 
aaa authentication login default local 

bash$ sed -e $':b; s/.\b//; tb;' | cat -v 
aaa new-model 
! 
! 
aaa authentication login default local 

これはあなたを得るでしょう単純にすべての消去文字を削除するよりも実際の端末出力に近い。

0

私はこのシスコの出力を信じていますが、そこには--More--行全体を取り除きたいと思っています。あなたはので、この方法を行うことができます。

cat cisco-output.txt | grep -v '^ *--More.*\x08' > cisco-output-clean.txt

結果が見れるように:

aaa new-model 
! 
aaa authentication login default local 
+0

これはうまくいかず、画面上に適切な文字が表示されるので変です: '$ cat original>目的地#バックスペース文字を維持します $ cat original | grep -v '^ * - More。* \ x0>宛先#はバックスペースを維持します $ cat original# – user322049

関連する問題