Sea*_*ris 6 linux mac ssh terminal.app
我想要本地编程访问 Mac 终端中的 ssh 输出。
首先,我尝试将每个命令的输出重定向到一个文件。该文件是完美的,但当然它在远程服务器上,每个命令输出的 sftp 似乎有点……沉重。
接下来,我尝试使用 Applescript 终端,但它只能访问选项卡中当前可见的文本(即,如果输出的一半已经滚动到视线之外,则不会返回 - 无用)。
最后,我尝试将 ssh 管道传输到 tee(例如 ssh user@host | tee output.txt)。这几乎奏效了。我在本地文件中有输出,但是混入了很多不需要的字符。例如,每次我按退格键时,文件中都会有一个 ^H。还有像“[0m[K”这样的文本,它更难摆脱。
如何在本地干净地获取此 ssh 输出?
用于script
制作终端会话的打字稿。
然后用sed
它来消毒。
例如;
% script mysession
% ssh user@host
[some stuff]
% exit
Script done, output file is mysession
% sed -e '
s/'`echo "\033"`'\[[[:digit:]]*\(;[[:digit:]]*\)*[[:alpha:]]//g; # ANSI Escape sequences (perhaps over-generalised)
s/[^[:print:]]//g; # Non-printable
' mysession > mysession.txt
Run Code Online (Sandbox Code Playgroud)
您现在应该能够mysession.txt
在没有ANSI 转义码和其他不可打印字符的情况下进行阅读。
^H可以增强此功能以删除a等之前的字符,但您指定您不希望这样做。
归档时间: |
|
查看次数: |
3330 次 |
最近记录: |