J'ai essayé le snippet suivant dans un script shell, mais awk code> n'a pas trouvé
$ réf code>
3 Réponses :
Votre question est libellée Quoi qu'il en soit, je pense que vous voulez que vous voulez ceci: p> note le s'échappant de ou ceci: p> Vous devez utiliser l'expansion de Shell, comme cela engloberait l'exportation d'une variable de coque et de l'utiliser à partir de L'environnement avec AWK - qui est Overkill em> dans cette situation: p> Je pense que AWK ne prend pas en charge les variables dans /... / Guards. s'il vous plaît corrigez-moi si je me trompe. em> p> p> 2 $ code> et les citations doubles. em> p>
2 $ code>. em> p>
2 $ fonctionne bien avec et sans le \. La question est d'environ $ Réf, qui n'est pas dépensée par AWK. THX
@FRITSCHY: Pour de nombreuses personnes utilisant Internet, l'anglais n'est pas leur langue maternelle; Certaines personnes utilisent Google pour traduire leur question. ;-)
Vehomzzz, lors de l'utilisation de citations doubles - qui a été ce que j'ai suggéré à Roder de laisser la coquille développer $ ref code> correctement, vous devez échapper
2 $ code> - fin empêcher la coque de se développer ce.
@Dave - OK, je n'ai pas anticipé la traduction de Google. Merci d'expliquer;)
Vehomzzz - aucune infraction vraiment :) - ce n'est pas ma langue maternelle, pas même ma deuxième, ce qui pourrait être évident;)
au lieu de cibler des jeux dans la coquille, utilisez l'option si -v code> pour transmettre la variable de coque sous forme de variable AWK:
$ ref code> est juste du texte et non une expression régulière, utilisez la fonction
index () code> au lieu de
match () code>. p> p>
Pourriez-vous m'approcher comment faire cela dans mon cas? à gauche = 1; droit = 4; grep ETM21CH01EPU3Z -A1 SLF_454.FNA | queue 1 | awk '{print substrateur (0,1,4 $)}' Works and Sorties GTTG, mais la version avec variables ne vous remercie pas: gauche = 1; droit = 4; grep ETM21CH01EPU3Z -A1 SLF_454.FNA | queue 1 | awk -v l = "$ gauche" r = "$ droite" '{print substrateur ($ 0, l, r)}' awk: cmd. Ligne: 1: FATAL: Impossible d'ouvrir le fichier `{imprimé substrateur (0 $, L, R)} 'pour la lecture
@Perlnika, vous avez besoin d'un -v code> pour chaque variable:
awk -v l = "$ gauche" -v r = "$ droite" code>
in GAWK code>, vous avez le tableau code> Environ CODE> TRAY, E.G.
awk 'fin {improvemé ["ref"]}' / dev / null code> imprimera votre variable si vous avez
exporter code> édité de la coquille à des sous-traitements . p>
Cela fonctionne aussi (et la variable ne doit pas nécessairement être exportée si vous faites ref = valeur awk '...' code>). Mais je recommanderais le commutateur
-v code> comme solution générale.
Dupliqué possible de passer une variable de script shell dans une commande AWK a>