【问题标题】:Unix Shell Script displaying null in a text file when open in wordpad在写字板中打开时,Unix Shell 脚本在文本文件中显示 null
【发布时间】:2009-07-31 04:12:27
【问题描述】:

有谁知道如何使用 Unix Shell 脚本将 Hex(00) 转换为在写字板中显示 Null。

我有一个输出文件,它是一个文本文件,通过 unix,我需要将一个十六进制值 00 转换为在特定行的 Word pad 中显示为一个框(null)。

目前通过使用以下代码,我的输出文件中没有任何内容:

hexchar="00" octchar=$(echo "ibase=16;obase=8;$hexchar"|bc) hex1=$(echo "\0$octchar")

请帮忙!!!

【问题讨论】:

  • 好的,你能告诉我们你的实际问题是什么吗?为什么需要这样做?
  • 您是否正在使用 Cygwin 将 Wordpad 和 Unix shell 结合在一起?

标签: shell unix


【解决方案1】:

这是一个可能有用的参考。

Need to grep for null Characters in an acsii file.


以下将删除所有空字符,

tr -d "\000" < input.txt > output.txt

而且,这将用X 字符替换它——任你选择,

tr "\000" "X" < input.txt > output.txt

【讨论】:

    【解决方案2】:

    我认为它不会运行。这个测试证明了这一点:如果你打开一个空的写字板,只输入一个字符:1(一)。然后(然后)按 Alt+x,您将看到该框。您可以输入十六进制数字,直到 utf-16(左右),但是如果您输入 0 而不是 1,您将得到 30,即 ansi 值 0。也许由于 os 文件中的任何歧义,避免了十六进制 0系统左右。但是 hex 0 不能显示(甚至不能显示为一个框)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-10
      • 1970-01-01
      • 2015-10-13
      • 1970-01-01
      • 2016-04-11
      • 2017-01-25
      • 2019-11-19
      • 1970-01-01
      相关资源
      最近更新 更多