2017-10-13 9 views
1

Peut-on formater une valeur de sortie d'un tableau comme une liste et numéroter avec "awk"?Comment lister et numéroter des valeurs de tableau en utilisant awk avec unix

J'ai eu le moyen de simplement imprimer la liste mais je voulais un numéro sans utiliser de boucle, cela pourrait être possible?

C'est ce que je dois énumérer les valeurs du tableau:

set -A MyArray $(ls) 

printf "%s\n" ${MyArray [@]} 

SORTIE:

File1.txt 
File2.txt 
File3.txt 

Je veux faire quelque chose comme:

1- File1.txt 
2- File.txt 
3- File3.txt 

Répondre

1

Si vous ne ne veux pas de tableau spécifiquement alors cela pourrait être fait de cette façon

printf "%s\n" ${MyArray [@]} | awk '{i++; print i"-", $0}' 

ou

awk '{print ++i"-", $0}' <<<"${MyArray[@]}" 
+0

J'édité votre réponse, j'ai essayé la même manière que vous l'avez fait, mais je l'ai fait avec le tableau et cela a fonctionné comme un charme! merci @batMan! –