gpt4 book ai didi

bash - 如何在 GNU 排序中使用 NULL (\0) 作为分隔符

转载 作者:行者123 更新时间:2023-11-29 08:48:25 25 4
gpt4 key购买 nike

我正在寻找一种方法来对 find 的结果进行排序,正确返回多个目录以便在 bash 脚本中进行进一步处理。因为文件名不能包含 NULL (\0) 字符,所以我认为这对于通过管道传输到 sort 的结果来说是一个很好的分隔符。

所以这就是我所期望的工作方式:

find ./ -maxdepth 1 -type d -iname 'xyz?' -print0 | sort -t $'\0'

但遗憾的是我得到了提示 sort: empty tab

在寻找解释时遇到了 question leading to a similar result该操作描述为工作正常(请参阅 4 月 26 日的卢卡斯评论)。就我而言(使用 GNU sort v 7.4)这似乎有所不同。

我还通过管道输入 od -c 检查了 find 的输出,但这仅表明生成的文件夹按预期由 NULL 分隔。

这里有没有人遇到过类似的情况并且可能找到了解决方案或解释为什么\0 似乎是不可能的排序分隔符?

期待您的回答...

编辑:请注意,查找命令在这里用作示例,测试/说明它的更简单方法可能是 echo "g\0u\0b\0k"|排序 -t $'\0'

最佳答案

-t字段 分隔符。如果你想使用 \0 作为 line 分隔符,那么你需要使用 -z

关于bash - 如何在 GNU 排序中使用 NULL (\0) 作为分隔符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6563979/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com