Trier un tableau bash

J’essaie de sortinger la sortie de ce code en fonction de la taille du fichier. Actuellement j’ai:

IFS=! FILEARRAY=(`find * -printf %f!`) 

pour extraire tous les noms de fichiers du répertoire. J’ai essayé toutes sortes de manières et rien ne fonctionne. Est-il même possible de faire comme cela ou dois-je procéder pour obtenir les noms de fichiers dans mon tableau d’une manière différente?

Merci

Essayez plutôt quelque chose comme ça:

 FILEARRAY=$(find * -printf '%s~%f\n' | sort -n | awk -F"~" '{print $2}') 

Cela devrait vous donner une liste de noms de fichiers sortingés par taille.

Vous ne savez pas exactement ce que vous essayez d’atteindre, mais vous devez extraire la taille des fichiers que vous souhaitez utiliser. pour le passer à un sort ou à un autre utilitaire de sorting, jetez un xargs à xargs qui vous offre des fonctionnalités supplémentaires lors de la diffusion et qui peut être utile.

Edit: Si vous essayez de sortinger tous les fichiers du répertoire en cours par taille, quelque chose comme ceci:

 find ./ -name "*" | xargs ls -s | sort -n 

devrait marcher.

N’utilise pas les tableaux bash. Aussi ne pas parsingr ls

 find . -type f -printf '%s:%f\n' | sort -t: -n -k1 | cut -d: -f2-