grep 搜索顺序?

grep 搜索顺序?

我有两个相同的文件夹,其中包含文件,一个位于外部 exfat 驱动器上,另一个位于本地驱动器上。当我grep -r在外部驱动器上建立文件夹时,它会按字母顺序搜索文件,但如果我对本地文件夹执行相同的操作,搜索顺序似乎是随机的。为什么会发生这种情况以及如何在本地驱动器上使用字母顺序?

答案1

这取决于文件系统。某些文件系统可能具有“自然”排序的文件,而某些则没有(并且在某些情况下排序可能只是巧合)。尝试使用 3 种不同的文件系统(ext4、tmpfs 和 vfat),并 在新目录中按该顺序创建名为3、的文件1,产生 3 个不同的顺序,没有一个是“自然”的。2grep -r .

当您使用grep -r文件名(如果是输出的一部分)时,您始终可以对输出进行排序(并且可能在以后的管道操作中剪切文件名部分)。

否则,据我所知,lsbash 通配符总是会产生根据区域设置排序的文件,所以不要grep -r尝试像grep */*.

相关内容