Commande awk pour récupérer valeurs sur ligne
Résolu/Fermé
marco.marco
Messages postés
29
Date d'inscription
mardi 1 juillet 2008
Statut
Membre
Dernière intervention
29 novembre 2013
-
23 févr. 2010 à 15:18
marco.marco Messages postés 29 Date d'inscription mardi 1 juillet 2008 Statut Membre Dernière intervention 29 novembre 2013 - 23 févr. 2010 à 19:19
marco.marco Messages postés 29 Date d'inscription mardi 1 juillet 2008 Statut Membre Dernière intervention 29 novembre 2013 - 23 févr. 2010 à 19:19
A voir également:
- Commande awk pour récupérer valeurs sur ligne
- Invite de commande - Guide
- Comment recuperer un message supprimé sur whatsapp - Guide
- Recuperer video youtube - Guide
- Comment aller à la ligne sur excel - Guide
- Commande terminal mac - Guide
5 réponses
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
23 févr. 2010 à 15:23
23 févr. 2010 à 15:23
Salut,
Et avec "sed" ?
;-))
Et avec "sed" ?
jp@MDK:~/tmpfs ssh$ cat plop MACHIN001|MACHIN002|MACHIN003|MACHIN001|MACHIN006 MACHIN003|MACHIN007| MACHIN008|MACHIN002| jp@MDK:~/tmpfs ssh$ sed 's/|/\n/g' plop | sed '/^$/d' | sort -u MACHIN001 MACHIN002 MACHIN003 MACHIN006 MACHIN007 MACHIN008 jp@MDK:~/tmpfs ssh$
;-))
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 567
23 févr. 2010 à 15:32
23 févr. 2010 à 15:32
Salut,
lami20j@debian-acer:~$ cat plop MACHIN001|MACHIN002|MACHIN003|MACHIN001|MACHIN006 MACHIN001|MACHIN002|MACHIN003|MACHIN001|MACHIN006 MACHIN003|MACHIN007| MACHIN008|MACHIN002| lami20j@debian-acer:~$ sed 's/^|\|| *$//g;s/|/\n/g' plop |sort|uniq MACHIN001 MACHIN002 MACHIN003 MACHIN006 MACHIN007 MACHIN008 lami20j@debian-acer:~$
marco.marco
Messages postés
29
Date d'inscription
mardi 1 juillet 2008
Statut
Membre
Dernière intervention
29 novembre 2013
1
23 févr. 2010 à 17:18
23 févr. 2010 à 17:18
Merci Jipicy et lami20j !!!!
vous m'aviez déjà sauvé la vie le mois dernier avec une commande awk ;-)
\n : comment je n'y ai pas pensé !!!! je l'utilise dans tous mes shells (mais jamais avec un sed remarque)
Bon ca marche impec sous linux mais pas sur unix...
sous unix j'ai ca :
MACHIN001nMACHIN002nMACHIN003nMACHIN001nMACHIN006
Curieux... mais ce n'est pas grave du tout puisque de toute facon au final je vais l'utiliser sous un linux.
Encore merci à vous deux !
vous m'aviez déjà sauvé la vie le mois dernier avec une commande awk ;-)
\n : comment je n'y ai pas pensé !!!! je l'utilise dans tous mes shells (mais jamais avec un sed remarque)
Bon ca marche impec sous linux mais pas sur unix...
sous unix j'ai ca :
MACHIN001nMACHIN002nMACHIN003nMACHIN001nMACHIN006
Curieux... mais ce n'est pas grave du tout puisque de toute facon au final je vais l'utiliser sous un linux.
Encore merci à vous deux !
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 567
23 févr. 2010 à 18:30
23 févr. 2010 à 18:30
Re,
Bon ca marche impec sous linux mais pas sur unix...
Essai avec awk
Bon ca marche impec sous linux mais pas sur unix...
Essai avec awk
$ cat plop MACHIN001|MACHIN002|MACHIN003|MACHIN001|MACHIN006 MACHIN003|MACHIN007| MACHIN008|MACHIN002| $ awk -F"|" '{for(i=1;i<=NF;++i) if($i~/MACH/) print $i|"sort|uniq"}' plop MACHIN001 MACHIN002 MACHIN003 MACHIN006 MACHIN007 MACHIN008
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 567
23 févr. 2010 à 18:36
23 févr. 2010 à 18:36
Re,
Ou
Petit bonus avec perl ;-), qui normalement doit fonctionner sous unix
Ou
$ awk -F"|" '{for(i=1;i<=NF;++i) if(length($i)>1) print $i|"sort|uniq"}' plop MACHIN001 MACHIN002 MACHIN003 MACHIN006 MACHIN007 MACHIN008
Petit bonus avec perl ;-), qui normalement doit fonctionner sous unix
$ cat plop MACHIN001|MACHIN002|MACHIN003|MACHIN001|MACHIN006 MACHIN003|MACHIN007| MACHIN008|MACHIN002| $ perl -pe 's/\|\s*/\n/g' plop|sort|uniq MACHIN001 MACHIN002 MACHIN003 MACHIN006 MACHIN007 MACHIN008
marco.marco
Messages postés
29
Date d'inscription
mardi 1 juillet 2008
Statut
Membre
Dernière intervention
29 novembre 2013
1
23 févr. 2010 à 19:19
23 févr. 2010 à 19:19
Ca marche pour les deux :-)
Je garde perl du coup, c'est plus clair (et plus classe ;-))
Encore merci !!
Je garde perl du coup, c'est plus clair (et plus classe ;-))
Encore merci !!
23 févr. 2010 à 15:24
23 févr. 2010 à 15:34
Il faut gérer la ligne vide
Edit:
En fait quand j'ai fait copier coller il avait des espaces après le dernier |
23 févr. 2010 à 15:44