Impression inversée du résultat d’une recherche unix sans sorting

Je veux sortinger le résultat de la recherche comme suit:

J’utilise:

find . -type f -print0 

Le résultat est:

 /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 

Mais je veux le résultat comme:

 /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 

Et si je le fais:

 find . -type f print0 | sort -r 

L’ordre est tout foiré. J’ai vu cette solution quelque part:

 find . -type f -ls | awk '{print $(NF-3), $(NF-2), $(NF-1), $NF}' 

Mais je ne peux pas l’utiliser car il imprime les résultats.

Notez également que je n’ai pas les droits d’écriture sur le système de fichiers, donc écrire dans un fichier et inverser les lignes n’est pas une option.

Utilisez tac ( cat arrière) pour inverser la sortie. Vous n’avez pas besoin de le sortinger dans l’ordre inverse, il vous suffit de l’inverser.

 find . -type f | tac 

Si vous souhaitez conserver -print0 utilisez alors:

 find . -type f -print0 | tac -rs '\0' 

Vous pouvez également utiliser tail -r :

 find . -type f | tail -r