Probleme avec le script shell
Résolu
amsy10
Messages postés
78
Statut
Membre
-
amsy10 Messages postés 78 Statut Membre -
amsy10 Messages postés 78 Statut Membre -
Bonjour,
Bonjour
je voudrais une recherche dans un fichier par rapport un fichier quand je lance le script il me cherche la derniere ligne du fichier ce qui n'est pas normale.exemple: fichier a:le contenu
111111
222222
333333
et le fichier b
000000,2457879
111111,9586245
222222,4569874
333333,4569874
444444,1236541
555555,4562258
voila les deux fichier a doit forcement se trouver dans le fichier b
c'est comme ca que je lance le script.
./SERIAL.sh fichier a fichier b &
et il ne m'envoi que la derniere ligne
voila mon script
#!/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
cordialement
Bonjour
je voudrais une recherche dans un fichier par rapport un fichier quand je lance le script il me cherche la derniere ligne du fichier ce qui n'est pas normale.exemple: fichier a:le contenu
111111
222222
333333
et le fichier b
000000,2457879
111111,9586245
222222,4569874
333333,4569874
444444,1236541
555555,4562258
voila les deux fichier a doit forcement se trouver dans le fichier b
c'est comme ca que je lance le script.
./SERIAL.sh fichier a fichier b &
et il ne m'envoi que la derniere ligne
voila mon script
#!/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
cordialement
A voir également:
- Probleme avec le script shell
- Classic shell - Télécharger - Personnalisation
- Script vidéo youtube - Guide
- Ghost script - Télécharger - Polices de caractères
- Mas script - Accueil - Windows
- Script cmd - Guide
5 réponses
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
$
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
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
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