我希望按以下方式对查找结果进行排序:
我正在使用:
订单出现了混乱。我在某个地方看到了这个解决方案:
我正在使用:
find . -type f -print0
Result is:
/mnt/sdcard/qu/led/t1/temp42.txt
/mnt/sdcard/qu/led/File.plist
/mnt/sdcard/qu/yellow.plist
/mnt/sdcard/SHA1Keys/SHA1SUMS
/mnt/sdcard/File.xml
/mnt/sdcard/File.plist
/mnt/sdcard/.DS_Store
但我想要的结果是:
/mnt/sdcard/.DS_Store
/mnt/sdcard/File.plist
/mnt/sdcard/File.xml
/mnt/sdcard/SHA1Keys/SHA1SUMS
/mnt/sdcard/qu/yellow.plist
/mnt/sdcard/qu/led/File.plist
/mnt/sdcard/qu/led/t1/temp42.txt
如果我这样做:
find . -type f print0 | sort -r
订单出现了混乱。我在某个地方看到了这个解决方案:
find . -type f -ls | awk '{print $(NF-3), $(NF-2), $(NF-1), $NF}'
但我不能使用它,因为它会打印出结果。
另外请注意,我没有写入文件系统的权限,因此写入文件并反转行不是一个选项。
find
命令的输出已经排序好了。你只需要使用tac
命令打印反向输出即可。 - jkshah-print
还是-print0
?你的输出表明你正在使用-print
。 - chepnerfind
命令的输出结果并没有以任何特定方式进行 排序。它们看起来像是按照字母顺序的相反顺序排列,但这只是巧合。find
命令的输出顺序取决于文件系统内部存储文件的方式。 - toxalot