Inverser une liste de numéros

Résolu
barnabe0057 Messages postés 14455 Date d'inscription   Statut Contributeur Dernière intervention   -  
barnabe0057 Messages postés 14455 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

J'ai encore besoin d'aide, je dois inverser une liste de numéros, tout va bien de 0 à 9, mais à partir de 10 ça se met dans le désordre.

Voilà la commande qui me donne la liste de numéros :

ufw status numbered | grep "ALLOW" | tr -d '[' | awk '{print $1}' | tr -d ']' | sort -r


Merci d'avance pour votre aide.


Configuration: Win 7 Pro SP1 64bits
Athlon X4 750K Quad Core
8 Go DDR3 1866 Mhz

A voir également:

2 réponses

barnabe0057 Messages postés 14455 Date d'inscription   Statut Contributeur Dernière intervention   4 925
 
C'est bon j'ai trouvé, il faut utiliser sort -rn

Sujet résolu.
1
lEprofSonDkon Messages postés 211 Date d'inscription   Statut Membre Dernière intervention   13
 
cette commande m'a l'air bien compliquée !

si tu nous donnes une sortie exemple de
ufw
, on va arranger ça.

KISS*

--
  • Keep It Simple Stupid!
0
barnabe0057 Messages postés 14455 Date d'inscription   Statut Contributeur Dernière intervention   4 925
 
Voilà un exemple de sortie (les valeurs sont fictives) :

Status: active

To Action From
-- ------ ----
[ 1] 25 ALLOW IN Anywhere
[ 2] 587 ALLOW IN Anywhere
[ 3] 993 ALLOW IN Anywhere
[ 4] 465/tcp ALLOW IN Anywhere
[ 5] 80/tcp ALLOW IN Anywhere
[ 6] 443/tcp ALLOW IN Anywhere
[ 7] Anywhere ALLOW IN 89.25.155.66
[ 8] Anywhere ALLOW IN 95.34.221.102
[ 9] 39645/tcp ALLOW IN 81.250.7.28
[10] 25535/tcp ALLOW IN 98.5.12.10

Je cherche à récupérer les numéros de règle dans l'ordre décroissant, sans les crochets.
0
lEprofSonDkon Messages postés 211 Date d'inscription   Statut Membre Dernière intervention   13 > barnabe0057 Messages postés 14455 Date d'inscription   Statut Contributeur Dernière intervention  
 
ufw status numbered \
| awk -F']' '/ALLOW/{sub("^\\[ *","",$1); ar[++n]=int($1)}END{asort(ar,out,"@val_num_desc"); for (i in out)print out[i]}'
eh ben, voilà !
c'est plus propre comme ça.

par contre, c'est peut-être hors de ta portée actuellement, et si c'est à rendre , ça va se voir. :/
alors que ça tu dois pouvoir l'expliquer/justifier.
ufw status numbered  | awk -F']' '/ALLOW/{sub("^\\[ *","",$1); print int($1)}' | sort -rn
0
barnabe0057 Messages postés 14455 Date d'inscription   Statut Contributeur Dernière intervention   4 925
 
Non non je ne dois rien expliquer/justifier, il s'agit d'un projet personnel, pas d'un devoir.

Mais comme tout le monde j'aime bien comprendre ce que je fais, donc je vais essayer de décortiquer ta solution pour comparer avec la mienne.

Merci pour ta réactivité.
0