我想sorting查找的结果如下:
我在用:
find . -type f -print0
结果是:
/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
订单弄糟了。 我看到了这个解决scheme:
find . -type f -ls | awk '{print $(NF-3), $(NF-2), $(NF-1), $NF}'
但是我不能使用它,因为它打印结果。
另外请注意,我没有权限写入文件系统,因此写入文件并反转行不是一个选项。
使用tac
(反向)反转输出。 您不需要按照相反的顺序排序,只需要将其逆转即可。
find . -type f | tac
如果你想保留-print0
那么使用:
find . -type f -print0 | tac -rs '\0'
或者,您可以使用tail -r
:
find . -type f | tail -r