我正在寻找一种方法来排序find正确返回多个目录的结果,以便在bash脚本中进一步处理.因为文件名不能包含NULL(\ 0)字符,我认为这将为管道传输的结果提供一个很好的分隔符sort.
所以这就是我期望的工作方式:
find ./ -maxdepth 1 -type d -iname 'xyz?' -print0 | sort -t $'\0'
Run Code Online (Sandbox Code Playgroud)
但遗憾的是我得到了复杂 sort: empty tab
环顾四周寻找解释时遇到了一个类似的结果,这个结果被认为是正常工作(参见11月26日的卢卡斯评论).在我的情况下(使用GNU sort v 7.4),这似乎是不同的.
我还通过管道输入检查了find的输出,od -c但这只显示结果文件夹按预期分隔为NULL.
有没有人在这里遇到类似的情况,并可能找到一个解决方案或解释为什么\ 0似乎是一个不可能的排序分类?
期待你的回答......
编辑:请注意这里使用find-command作为示例,一种更简单的方法来测试/说明这可能echo "g\0u\0b\0k" | sort -t $'\0'