OVH Cloud OVH Cloud

awk , echappement

2 réponses
Avatar
Rakotomandimby
bonjour
J'ai un fichier de plusieurs lignes .
j'ai awk .
je veux afficher la N -ieme ligne d'un fichier .
la quantité N n'est pas definie a l'avance , il faut la chercher dans un
fichier .

J'ecris un script

=========================================================

#!/bin/zsh
AWK=/usr/bin/awk

# chercher N dans un fichier avec awk pour eviter de se ramasser le \n de
# fin de ligne

N=`cat /fichier_qui_contient_N | /usr/bin/awk '{print $1}'`

$AWK 'NR==$N{print}' /fichier_dont_jeveux_afficher_la_n_ieme_ligne
===========================================================

Evidemment je suis tellement naif , ça marche pas .
a mon avis il faut que $N soit interprété mais comment ?

si je mets des \ pour echaper $N , ça marche pas ( mais meme , ça ne
m'avance pas du tout ...

Pourriez vous m'aider SVP ?

Question subsidiaire , le premier appel a awk se fait avec son chemin alors
que j'aurai aimé l'appeler avec $AWK ... comment faire aussi ?

Merci d'avance .
--
http://mrakotom.free.fr

2 réponses

Avatar
Laurent Wacrenier
Rakotomandimby écrit:
j'ai awk .
je veux afficher la N -ieme ligne d'un fichier .
la quantité N n'est pas definie a l'avance , il faut la chercher dans un
fichier .


Pourquoi pas sed ?

sed -n ${N}p

N=`cat /fichier_qui_contient_N | /usr/bin/awk '{print $1}'`


awk {print $1} /fichier_qui_contient_N

$AWK 'NR==$N{print}' /fichier_dont_jeveux_afficher_la_n_ieme_ligne


awk "NR==$N{print}"

Avatar
Rakotomandimby
Laurent Wacrenier wrote:

Pourquoi pas sed ?

sed -n ${N}p


... effectivement , pourquoi pas .
Merci .
--
http://mrakotom.free.fr