Probleme avec le script shell
Résolu/Fermé
amsy10
Messages postés
68
Date d'inscription
jeudi 27 août 2009
Statut
Membre
Dernière intervention
22 septembre 2021
-
18 oct. 2010 à 13:10
amsy10 Messages postés 68 Date d'inscription jeudi 27 août 2009 Statut Membre Dernière intervention 22 septembre 2021 - 18 oct. 2010 à 16:56
amsy10 Messages postés 68 Date d'inscription jeudi 27 août 2009 Statut Membre Dernière intervention 22 septembre 2021 - 18 oct. 2010 à 16:56
A voir également:
- Probleme avec le script shell
- Script vidéo youtube - Guide
- Classic shell windows 11 - Télécharger - Personnalisation
- Mas script - Accueil - Windows
- Ghost script - Télécharger - Polices de caractères
- Script cmd - Guide
5 réponses
dubcek
Messages postés
18779
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
13 avril 2025
5 630
18 oct. 2010 à 15:11
18 oct. 2010 à 15:11
hello
on peut tout faire dans awk
on peut tout faire dans awk
$ awk -F, 'NF==1 {x[$1]=$1} NF > 1 {if(!x[$1])print $2 FS $1}' fichiera fichierb 2457879,000000 1236541,444444 4562258,555555 $
amsy10
Messages postés
68
Date d'inscription
jeudi 27 août 2009
Statut
Membre
Dernière intervention
22 septembre 2021
18 oct. 2010 à 16:06
18 oct. 2010 à 16:06
je n'ai pas compris ton script le NF c'est quoi au juste
tu as compri mon souci ce awk pourra l'executer
tu as compri mon souci ce awk pourra l'executer
dubcek
Messages postés
18779
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
13 avril 2025
5 630
18 oct. 2010 à 16:14
18 oct. 2010 à 16:14
NF représente le nombre de champs par ligne. Avec NF==1 on traite fichiera et avec NF > 1 on traite fichierb
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 898
18 oct. 2010 à 16:11
18 oct. 2010 à 16:11
Salut,
Y'a une erreur de syntaxe dans ton code :
for i in 'cat...'
à remplacer par
for i in $(cat $f1)
Y'a une erreur de syntaxe dans ton code :
for i in 'cat...'
à remplacer par
for i in $(cat $f1)
#!/bin/bash f1=$1 f2=$2 for i in $(cat $f1) do grep $i $f2 | awk -F, '{print $2","$1}' >> Code_en_serie.txt done
amsy10
Messages postés
68
Date d'inscription
jeudi 27 août 2009
Statut
Membre
Dernière intervention
22 septembre 2021
18 oct. 2010 à 16:41
18 oct. 2010 à 16:41
il ne reconnais pas le $f1
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 898
18 oct. 2010 à 16:45
18 oct. 2010 à 16:45
Bizarre ;-\
Quel système ?
Quel système ?
$ ls a b foo* $ cat a 111111 222222 333333 $ cat b 000000,2457879 111111,9586245 222222,4569874 333333,4569874 444444,1236541 555555,4562258 $ cat foo #!/bin/bash f1=$1 f2=$2 for i in $(cat $f1) do grep $i $f2 | awk -F, '{print $2","$1}' >> Code_en_serie.txt done $ ./foo a b $ cat Code_en_serie.txt 9586245,111111 4569874,222222 4569874,333333 $
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
amsy10
Messages postés
68
Date d'inscription
jeudi 27 août 2009
Statut
Membre
Dernière intervention
22 septembre 2021
18 oct. 2010 à 16:56
18 oct. 2010 à 16:56
Merci beaucoup c'est ok ca marche maintenant