Awk et NR
Fermé
tchsimons
Messages postés
191
Date d'inscription
samedi 3 mai 2008
Statut
Membre
Dernière intervention
24 novembre 2012
-
17 janv. 2010 à 12:34
tchsimons Messages postés 191 Date d'inscription samedi 3 mai 2008 Statut Membre Dernière intervention 24 novembre 2012 - 18 janv. 2010 à 21:46
tchsimons Messages postés 191 Date d'inscription samedi 3 mai 2008 Statut Membre Dernière intervention 24 novembre 2012 - 18 janv. 2010 à 21:46
6 réponses
Salut,
Vérification
lami20j@debian:~$ awk -F':' '$3==1000 {print NR}' </etc/passwd 27
Vérification
lami20j@debian:~$ awk 'NR==27 {print}' </etc/passwd lami20j:x:1000:1000:lami20j,,,:/home/lami20j:/bin/bash
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
17 janv. 2010 à 13:18
17 janv. 2010 à 13:18
tchsimons
Messages postés
191
Date d'inscription
samedi 3 mai 2008
Statut
Membre
Dernière intervention
24 novembre 2012
14
17 janv. 2010 à 14:54
17 janv. 2010 à 14:54
je comprend pas très bien votre Problème, en plus c'est de l'auto apprentissage, pas des exos de l'ecole.Les choses ne sont pas encore bien fixés dans ma tete , raison pour laquelle je suis ici.La solution de de lami20j , je l'avais deja , sauf que je voudrais l'utiliser pour autre chose dans un script shell qui a des parametres , parmis lesquel ce uid.voici un peu ce que j'ai dans le script:
...
...
...
var=$2 #$2 étant supposé contenir le valeur de l'uid
line=$(awk -F":" '$3==var {print NR}' </etc/passwd) #je compare var aux troisièmes champs
echo $line #Pour afficher la valeur de la ligne
...
...
...
Le probleme au final est que je n'ai pa cette valeur de line affichée à l'écran.
Que dois je faire SVP.
...
...
...
var=$2 #$2 étant supposé contenir le valeur de l'uid
line=$(awk -F":" '$3==var {print NR}' </etc/passwd) #je compare var aux troisièmes champs
echo $line #Pour afficher la valeur de la ligne
...
...
...
Le probleme au final est que je n'ai pa cette valeur de line affichée à l'écran.
Que dois je faire SVP.
Salut,
La solution de de lami20j , je l'avais deja , sauf que je voudrais l'utiliser pour autre chose dans un script shell qui a des parametres , parmis lesquel ce uid.voici un peu ce que j'ai dans le script:
Ben, tu vois qu'on ne peux pas savoir ce que tu veux si tu ne montre pas ce que tu as fait et dire ce que tu veux.
Essaie comme ça
La solution de de lami20j , je l'avais deja , sauf que je voudrais l'utiliser pour autre chose dans un script shell qui a des parametres , parmis lesquel ce uid.voici un peu ce que j'ai dans le script:
Ben, tu vois qu'on ne peux pas savoir ce que tu veux si tu ne montre pas ce que tu as fait et dire ce que tu veux.
Essaie comme ça
#!/bin/bash var=1000 line=$(awk -F":" '$3=="'$var'" {print NR}' </etc/passwd) echo $line
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
17 janv. 2010 à 15:10
17 janv. 2010 à 15:10
Salut,
Désolé pour la remontrance, mais étant donné qu'en ce moment les posts dans ce genre et émanant d'Afrique sont légion, je préfère prendre les devants...
Sinon :
Désolé pour la remontrance, mais étant donné qu'en ce moment les posts dans ce genre et émanant d'Afrique sont légion, je préfère prendre les devants...
Sinon :
#! /bin/sh #set -xv awk -F":" -v var=$2 '$3 == var { print "Ligne N° : "NR }' < /etc/passwd
tchsimons
Messages postés
191
Date d'inscription
samedi 3 mai 2008
Statut
Membre
Dernière intervention
24 novembre 2012
14
18 janv. 2010 à 21:46
18 janv. 2010 à 21:46
merci les gars cela m'a aidé.
sauf que maintenant je vouvrais remplacer le texte de la ligne extraite par un autre.
voila ce que je fait ,mais je remarque aucun chagement dans mon fichier.
.........
.........
v2="toto travaille"
awk -v var1=line var2=v2 'NR=var1{print var2}' fich.
..........
..........
Aurez vous une méthode?
sauf que maintenant je vouvrais remplacer le texte de la ligne extraite par un autre.
voila ce que je fait ,mais je remarque aucun chagement dans mon fichier.
.........
.........
v2="toto travaille"
awk -v var1=line var2=v2 'NR=var1{print var2}' fich.
..........
..........
Aurez vous une méthode?