J'écris un script shell qui comprend quelques lignes AWK
la ligne AWK ressemble à: p> le premier J'ai essayé de mettre un Quelqu'un peut-il aider? p> p> 1 $ code> est la première colonne de l'entrée CSV, le second
$ 1 code> est censé être la première entrée de ligne de commande de ce script shell p>
\ Code> devant le second
$ code>, mais cela semble ne pas fonctionner. P>
3 Réponses :
awk ... < input.csv
Cela ne dit pas vraiment à lire le fichier. Il indique à la coquille de le nourrir directement dans STDIN de Awk au lieu d'utiliser CAT.
@Ignacio Vazquez-Abrams: Je sais mais je ne voulais pas entrer dans trop de complications.
@ Ignaciovazquez-Abrams La redirection ne «l'alimente pas directement dans STDIN'S AWK». Le fichier devient i> STDIN'S AWK. L'utilisation inutile du chat nourrit le contenu du fichier à STDIN de l'AWK et que les E / S inutiles sont la raison pour laquelle UUOC est inefficace.
Une variable est bien aussi.
awk -F, -v needle="$1" '$1 ~ needle {print "is good"}' < input.csv
Bonne idée de la variable supplémentaire. Je suppose que cela élimine tout problème où 1 $ code> peut contenir des caractères spéciaux, n'est-ce pas?
Chaque personnage est spécial à sa manière.
chat ou une redirection n'est pas nécessaire. Voici une troisième variante à l'aide de barreaux Backslash: