【发布时间】:2015-10-29 00:40:37
【问题描述】:
我有一个关于删除不可见字符的问题,这些不可见字符只有在我们尝试使用“vi”命令查看文件时才能看到。我们有一个由 Datastage 应用程序生成的文件(源是一个 DB2 表 -> 目标是一个 .txt 文件)。文件具有不同数据类型的数据。我只有 3 列的数据类型定义为 CHAR 的问题。
如果您在文本板中打开文件,您会看到空格。但是当你在 Unix 上通过 vi 命令查看同一个文件时,我们会看到蓝色的 ^@ 字符。我的文件是一个分隔符文件,分隔符为 ^@^(我知道这听起来有点奇怪)。
我试过了:
-
tr -d [:cntrl:] <Filename >NewFileName— 仍然没有运气 — [分隔符被删除,但空格仍然存在] -
tr -s "^@" <Filename >NewFilename— 仍然没有运气 — 我看到文件减小了文件大小,但不可见字符仍然存在。 - 尝试更改分隔符 - 但仍然看到相同的不可见字符。
- 使用
sed "s/^@/g/"(和其他 sed 命令)<Filename— 仍然没有运气。
非常感谢任何建议。我已经研究了这个网站上的帖子,但我找不到。如果这很简单,请原谅我并分享您的想法。
【问题讨论】:
标签: unix sed character tr invisible