A voir également:
- Afficher une ligne d'un fichier linux
- Afficher les lignes d'un fichier linux - Meilleures réponses
- Afficher ligne fichier linux - Meilleures réponses
- Afficher une ligne particulière d'un fichier ✓ - Forum - Linux / Unix
- [shell unix] extraire une ligne d'un fichier ✓ - Forum - Shell
- [sh] Extraire une ligne d'un fichier ✓ - Forum - Shell
- Affiche le contenu d'un fichier d'une ligne d - Forum - Linux / Unix
- [afficher des lignes d'un fichier] - Forum - Linux / Unix
6 réponses
jipicy
- Messages postés
- 40805
- Date d'inscription
- jeudi 28 août 2003
- Statut
- Modérateur
- Dernière intervention
- 10 août 2020
Salut,
Tu peux faire ça avec "sed" aussi:
soit le fichier "fich"
Pour extraire la 3 ème ligne
La 5 ème :
Pour la récupérer dans une variable :
Tu peux faire ça avec "sed" aussi:
soit le fichier "fich"
[jp@Mandrake scripts]$ cat fich nom_fichier_1 ; commentaire associé au fichier 1 nom_fichier_2 ; commentaire associé au fichier 2 nom_fichier_4 ; commentaire associé au fichier 4 nom_fichier_5 ; commentaire associé au fichier 5 nom_fichier_7 ; commentaire associé au fichier 7 nom_fichier_9 ; commentaire associé au fichier 9 nom_fichier_10 ; commentaire associé au fichier 10 nom_fichier_12 ; commentaire associé au fichier 12 nom_fichier_14 ; commentaire associé au fichier 14 nom_fichier_15 ; commentaire associé au fichier 15 nom_fichier_16 ; commentaire associé au fichier 16
Pour extraire la 3 ème ligne
[jp@Mandrake scripts]$ sed -n 3p fich nom_fichier_4 ; commentaire associé au fichier 4
La 5 ème :
[jp@Mandrake scripts]$ sed -n 5p fich nom_fichier_7 ; commentaire associé au fichier 7
Pour la récupérer dans une variable :
[jp@Mandrake scripts]$ var=`sed -n 5p fich` [jp@Mandrake scripts]$ echo $var nom_fichier_7 ; commentaire associé au fichier 7 [jp@Mandrake scripts]$;-))
Signaler
andok
Merci beaucoup mon cher.
kmf31
- Messages postés
- 1564
- Date d'inscription
- mercredi 30 mars 2005
- Statut
- Contributeur
- Dernière intervention
- 22 juin 2007
Pour avoir la ligne X (=nombre comme 1,2,3, ...) tu peux faire:
LINE=`head -X fichier | tail -1`
(ici tu remplace X par le nombre et fichier par le nom de ton fichier).
Apres tu peux chercher pour un mot avec:
LINE=`grep mot fichier`
pour avoir (toutes) les lignes du fichier contenant "mot" (tu mettras ce que tu veux).
Regarde la doc avec "man grep", "man tail", "man head" etc.
Apres le resultat se trouve dans $LINE, donc pour afficher tu fais:
echo $LINE
LINE=`head -X fichier | tail -1`
(ici tu remplace X par le nombre et fichier par le nom de ton fichier).
Apres tu peux chercher pour un mot avec:
LINE=`grep mot fichier`
pour avoir (toutes) les lignes du fichier contenant "mot" (tu mettras ce que tu veux).
Regarde la doc avec "man grep", "man tail", "man head" etc.
Apres le resultat se trouve dans $LINE, donc pour afficher tu fais:
echo $LINE
crabs
- Messages postés
- 908
- Date d'inscription
- lundi 18 avril 2005
- Statut
- Membre
- Dernière intervention
- 3 août 2008
Salut,
Doit y avoir pas mal de solutions, perso
j'utilise une combinaison de head et tail si le fichier est petit (-de 8ko)
Ou alors awk pour les fichiers plus gros
Bien sur nu_ligne est la variable contenant le numéro de ligne,
fichier le chemin d'accès au fichier.
A+
Doit y avoir pas mal de solutions, perso
j'utilise une combinaison de head et tail si le fichier est petit (-de 8ko)
var=`head -$nu_ligne $fichier | tail -1`
Ou alors awk pour les fichiers plus gros
var=`awk -v l=$nu_ligne 'NR==l{ print }' $fichier`
Bien sur nu_ligne est la variable contenant le numéro de ligne,
fichier le chemin d'accès au fichier.
A+