【发布时间】:2014-09-15 21:08:18
【问题描述】:
我在 UNIX 服务器上有一个动态变化的日志文件。
我想构建一个应用程序,以使用 SSH 在多个页面中使用 Swings 在 Java GUI 上查看该文件。
我正在使用 JSCH 库为该日志文件执行“更多”命令。但在输出中,会打印一些特殊字符,例如 '[24;1H[K[7m' ]。如何删除这些特殊字符。
我正在使用以下代码
session.setConfig("StrictHostKeyChecking", "no");
session.connect(30000);
Channel channel=session.openChannel("shell");
channel.setInputStream(System.in);
channel.setOutputStream(System.out);
channel.connect();
Thread.sleep(3000);
PrintStream ps = new PrintStream(channel.getOutputStream(), true);
ps.println("more " + fileName);
输出是:
[?7h[?1l(B=[24;1H[K************ Start Display Current Environment ************
[24;1H[K[7mSystemOut.log (0%)[m[24;1H[24;1H[KID: soacore.FP6123 BuildVrsn: null Desc: WebSphere Process Server 6.1.2.3
[24;1H[K[7mSystemOut.log (0%)[m
如您所见,打印了一些特殊字符。如何去除那些特殊字符?
【问题讨论】:
-
“无法分页查看日志文件”是什么意思?
-
我的意思是我想查看日志文件,就像使用 UNIX 分页实用程序(更多命令,更少命令)显示的一样。由于文件不断变化,我无法将文件 ftp 到本地系统。
-
运行more程序会发生什么?
-
我已经更新了问题。我已经包含了代码 sn-p 和输出。现在问题会更清楚。请帮忙。
-
当您可以使用 Sftp 获取文件时,为什么还要使用“更多”命令运行交互式 shell?