UNIX脚本命令包括导出中的乱码

时间:2016-09-12 00:37:43

标签: windows unix text

我正在尝试使用script命令来保存一些提示和输出。

在unix上,输出看起来是正确的。

Script started on Sun 11 Sep 2016 06:34:13 PM EDT
[name@serv ~]$ mkdir myrepos
[name@serv ~]$ cd myrepos
[name@serv myrepos]$ svnadmin create testrepo
[name@serv myrepos]$ cd ../project

但是,当我将文件FTP到Windows时,我得到:

Script started on Sun 11 Sep 2016 06:34:13 PM EDT
]0;name@serv:~[?h[name@serv ~]$ svn[K[K[Kmkdir myre[K[Krepos
]0;name@serv:~[name@serv ~]$ cd myrepos
]0;name@serv:~/myrepos[name@serv myrepos]$ svnadmin create testrepo[K[K[K[

记事本显示上面的Ks和特殊字符缺少矩形。 Notepad ++不仅向我显示Ks,还向我显示随机ESCBELBS块。

我希望它像以下一样简单:

unix2dos original.txt windows.txt

但这告诉我unix2dos: problems converting file windows.txt

运行iconv -f UTF-8 -t ISO-8859-1 in.txt > out.txt找到here也没有帮助我。此时,我迷路了。

感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

这不是那么简单,但你可以在Unix端转换文件,例如,使用sedunix2dosiconv解决了与此不同的问题,无法帮助解决问题。

有几个相关的答案,但我更喜欢我写的回答Can I programmatically “burn in” ANSI control codes to a file using unix utils?的脚本。

one of my webpages上简要介绍了该脚本,并附有一些示例。它可以通过gzip'd tarfile

从该页面下载

从tarball开始...

tar xf misc-scripts.tar.gz
mv misc-scripts-2*/script2log .
rm -rf misc-scripts-2*

(除非您对其他脚本感兴趣:tarball只是一个快照,文件到达给定日期,并扩展到以该日期命名的目录)。

要使用它,请将script2log放在路径中,或者只运行它:

./script2log typescript >plaintext.log

./script2log -o plaintext.log typescript