在 shell 中处理 NULL 字符

pet*_*rph 5 shell binary

是否有一种可移植的方式来处理 shell 中的 NULL 字符?

一个典型的例子find ... -print0是在管道或命令替换结果中拆分with shell(和仅 shell)的输出。我所说的便携是指理想情​​况下没有如 eg 那样强大bashzsh不会窒息的东西。这在“裸 POSIX shell”(任何 POSIX 版本)中是否可行?

jll*_*gre 3

POSIX 没有设想处理文本嵌入null字符的标准实用程序。-print0您使用的选项本身find就是一个GNU不受POSIX.

使用 shell 脚本处理包含nulls 的数据流的一种方法POSIX是首先将其转换为真实文本并od处理该文本。

无论如何,如果您有GNU find,那么您可能还有其他GNU实用程序,这些实用程序一开始就没有该限制。