Awk de la chaîne d'impression avec des variables
Comment puis-je imprimer une chaîne avec des variables?
D'essayer cette
awk -F ',' '{printf /p/_abc/xyz/_abc_def/}' file
Besoin de sortie
/p/APPLE_abc/xyz/MANGO_abc_def/
où ${3} = APPLE
et ${5} = MANGO
- pouvez-vous montrer
file
contenu ?
Vous devez vous connecter pour publier un commentaire.
printf
permet l'interpolation de variables. C'est dans ce fichier de test:Nous pouvons utiliser
printf
pour atteindre la sortie que vous voulez comme suit:Dans
printf
, la chaîne%s
signifie insert-une-variable-ici-comme-une-chaîne. Nous avons deux occurrences de%s
, un pour$3
et un pour$5
.Pas aussi lisible, mais le printf n'est pas nécessaire ici. Awk peut insérer des variables directement dans les cordes si vous citez la partie de chaîne.
$ cat file.txt
1,2,APPLE,4,MANGO,6,7,8
$ awk -F, '{print "/p/" $3 "_abc/xyz/" $5 "_abc_def/"}' file.txt
/p/APPLE_abc/xyz/MANGO_abc_def/