#1 Le 12/05/2018, à 14:35
- Compte supprimé
[résolu]Utiliser une variable pour définir de $1 $2... dans awk
Bonjour,J'ai besoin de gérer une commande awk dont $1 $2 ...$99 seraient indiqués par une variable.
Un truc du genre
awk '{print ${coordonneX} " " ${coordonneY}' testpaint.txt
où ${coordonneX} et $coordonneY pourrait se substituer à $1 et $2 par exemple .
Je butte sur la mise en forme ...
merci,
Dernière modification par Compte supprimé (Le 12/05/2018, à 15:21)
#2 Le 12/05/2018, à 15:06
- MicP
Re : [résolu]Utiliser une variable pour définir de $1 $2... dans awk
Bonjour
Je ne suis pas sûr d'avoir bien compris ce que tu cherches à faire.
Mais peut-être que… :
michel@debg53sw:~/essais$ cat scrbashawk.sh
#!/bin/bash
echo "paramètre1=$1"
echo "paramètre2=$2"
echo "paramètre3=$3"
echo
awk '{print $'$1',$'$2'}' "$3"
michel@debg53sw:~/essais$
michel@debg53sw:~/essais$ cat testpaint.txt
ligne1champ1 ligne1champ2 ligne1champ3 ligne1champ4
ligne2champ1 ligne2champ2 ligne2champ3 ligne2champ4
michel@debg53sw:~/essais$
michel@debg53sw:~/essais$ ./scrbashawk.sh 3 1 testpaint.txt
paramètre1=3
paramètre2=1
paramètre3=testpaint.txt
ligne1champ3 ligne1champ1
ligne2champ3 ligne2champ1
michel@debg53sw:~/essais$
Dernière modification par MicP (Le 12/05/2018, à 15:15)
Hors ligne
#3 Le 12/05/2018, à 15:20
- Compte supprimé
Re : [résolu]Utiliser une variable pour définir de $1 $2... dans awk
Merci MicP
Ma demande était confuse mais tu as répondu à mon interrogation ....
#4 Le 12/05/2018, à 15:27
- MicP
Re : [résolu]Utiliser une variable pour définir de $1 $2... dans awk
Content d'avoir pu t'aider.
Je suis moi aussi très embêté quand je dois expliquer un de mes problèmes.
Dernière modification par MicP (Le 12/05/2018, à 15:28)
Hors ligne
#5 Le 12/05/2018, à 16:29
- Watael
Re : [résolu]Utiliser une variable pour définir de $1 $2... dans awk
salut,
awk -v var1=1 -v var2=3 '{print $var1,$var2}' fileName
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#6 Le 12/05/2018, à 16:41
- MicP
Re : [résolu]Utiliser une variable pour définir de $1 $2... dans awk
Merci Watael
En supposant (au cas où) que c'est depuis un script que awk sera lançé
je modifie le script en tenant compte de tes conseils :
#!/bin/bash
# Les lignes echo qui suivent ne sont juste là (le temps des tests)
# que pour vérifier quels ont été les paramètres reconnus par le script.
echo "paramètre1=$1"
echo "paramètre2=$2"
echo "paramètre3=$3"
echo
# on peut donc supprimer ces lignes de commande "echo"
awk -v var1=$1 -v var2=$2 '{print $var1,$var2}' "$3"
Dernière modification par MicP (Le 12/05/2018, à 17:22)
Hors ligne
#7 Le 12/05/2018, à 16:55
- Compte supprimé
Re : [résolu]Utiliser une variable pour définir de $1 $2... dans awk
Merci a vous deux