Tri par nb de caratères

De BlaxWiki
Aller à la navigationAller à la recherche

Ce script permet de trier une liste par le nombre de caractères de chaque ligne & non pas ordre alphanumerique du premier caractère :

#!/bin/sh

FILE="test"
TMP_FILE="test.tmp"
RESULT="test.result"

> ${TMP_FILE}
> ${RESULT}


exec 3<&0
exec 0<${FILE}

while read line
do
       LENGTH="$(echo ${line} | wc -c)"
       echo "${LENGTH};${line}" >> ${TMP_FILE}
done

sort -n ${TMP_FILE} | awk -F';' {'print $2'} >> ${RESULT}

exec 0<&3

exit 0