J'ai une commande awk qui extrait la 16ème colonne de la 3ème ligne dans un fichier csv et imprime les 4 premiers caractères.Comment exécuter une commande awk dans un script shell
awk -F"," 'NR==3{print $16}' sample.csv|sed -e 's/^[ \t]*//'|awk '{print substr($0,0,4)}'
Cela fonctionne très bien.
Mais quand je l'exécute à partir d'un script shell, je reçois et erreur
#!/bin/ksh
YEAR=awk -F"," 'NR==3{print $16}' sample.csv|sed -e 's/^[ \t]*//'|awk '{print substr($0,0,4)}'
Message d'erreur:
-F,: not found
Avez-vous essayé 'AN = $ (vos trucs awk | sed | awk | sed | awk ...) ' – Kent
Génial !! cela a vraiment fonctionné .. merci – user2040307
heureux d'aider. btw, votre combinaison 'awk | sed | awk' a fonctionné, mais c'est comme tuer une mouche par bombe nucléaire, et 3 bombes nucléaires ... il doit y avoir de la place pour s'améliorer. Eh bien, la première chose est de le faire fonctionner. :) – Kent