处理二进制文件时获取与cat类似的输出

时间:2014-04-17 11:29:17

标签: linux bash expect cat

我创建了bash脚本来使用expect备份许多不同的开关。 因为例如D-Link交换机上的命令show config current_config显示一行接一行太慢(如每秒1-2行,当有超过1000行时)我决定启用clipagaing并在切换时请求反应I像这样使用循环:

for {} {1} {} {
expect -exact "CTRL" {send -- " "} -exact "DES-3028:" {send -- "logout\r"}}

或发送 - " \ r"输入(一行)而不是空格(一页)

当我使用该循环备份时,一个开关只需不到5秒,但在输出中我会得到很多包含开关问题的行。该怎么办。

当我在vim中打开期望创建的文件时,我会看到如下行:

^M ^[[7mCTRL+C^[[0m ^[[7mESC^[[0m ^[[7mq^[[0m Quit \
^[[7mSPACE^[[0m ^[[7mn^[[0m Next Page ^[[7mENTER^[[0m Next Entry \
^[[7ma^[[0m All ^M^@ ^M^@^[[1Aconfig loopdetect port 1 state enabled

当我做cat file1时,我得到了

config loopdetect port 1 state enabled

这就是我想要的东西

当我做cat file1> file2我得到file1的精确副本

这里有示例文件https://www.dropbox.com/s/wo0usn8cfja7dbo/przyklad

尝试捕捉它并将它捕捉到另一个文件。我希望猫的效果能够进行筛选,但需要另一个文件。

我将不胜感激任何建议。

1 个答案:

答案 0 :(得分:0)

应该有一个HTTP页面,您可以将整个配置下载为文件。

使用wgetcurl等工具从脚本中下载文件。