Pb résultat affichage d'un fichier...
mïkelkel
-
jipicy Messages postés 41342 Statut Modérateur -
jipicy Messages postés 41342 Statut Modérateur -
Bonjour,
voila, j'ai un problème, je voudrais afficher le contenu d'un fichier à partir d'une certaine ligne, donc en n'affichant pas ce qu'il y a avant cette ligne.
J'ai esseyé avec grep, cut... mais je ne trouve pas la soluce.
if [`grep -i "lignexxxxx" /fichier | wc -l` ]
then
cut ......
fi
Ce ne sont pas forcément ces commandes la!
Si quelqu'un connait la réponse...qu'il n'hésite pas!
merci d'avanve.
Mïkelkel
voila, j'ai un problème, je voudrais afficher le contenu d'un fichier à partir d'une certaine ligne, donc en n'affichant pas ce qu'il y a avant cette ligne.
J'ai esseyé avec grep, cut... mais je ne trouve pas la soluce.
if [`grep -i "lignexxxxx" /fichier | wc -l` ]
then
cut ......
fi
Ce ne sont pas forcément ces commandes la!
Si quelqu'un connait la réponse...qu'il n'hésite pas!
merci d'avanve.
Mïkelkel
A voir également:
- Pb résultat affichage d'un fichier...
- Fichier bin - Guide
- Comment ouvrir un fichier epub ? - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier rar - Guide
- Fichier .dat - Guide
12 réponses
La solution ne serait-elle pas awk ? =D
Utilise la avec les variables prédéfinies et des petits tests et le tour est joué.
http://www.shellunix.com/awk.html
Utilise la avec les variables prédéfinies et des petits tests et le tour est joué.
http://www.shellunix.com/awk.html
Salut,
;-))
sed -n '1,10 !p' fichier ou sed '1,10 d' fichierne prend pas en compte les 10 premières lignes.
;-))
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Re-bonjour,
j'ai regardé un peu les commandes sed et awk!
je ne pense pas que ce soit "sed",
Pour etre plus clair, moi je cherche a afficher le contenu d'un fichier à partir de la ligne que je veux (une phrase en qqlq sorte), lignes caractères! Or j'ai l'impression que "sed" se sert quasiment que des numéros des lignes.
En fait, la ligne est du type :
Thu Jan 24 17:20:57 2008 ou Crash recovery completed succefuly
Et pour "awk", c'est une commande puissante (pas réussit :-( ), si quelqu'un peut me faire un petit exemple...ça serait très sympas, je ne m'en sort pas!!
pour aider un peu, en français ça devrait donner un truc du genre :
si il y a 'ligne rechercher' dans fichier
alors
echo de tout le reste du texte qui suit cette ligne
J'espère ne pas etre trop flou pour avoir une réponse très clair :-)
j'ai regardé un peu les commandes sed et awk!
je ne pense pas que ce soit "sed",
Pour etre plus clair, moi je cherche a afficher le contenu d'un fichier à partir de la ligne que je veux (une phrase en qqlq sorte), lignes caractères! Or j'ai l'impression que "sed" se sert quasiment que des numéros des lignes.
En fait, la ligne est du type :
Thu Jan 24 17:20:57 2008 ou Crash recovery completed succefuly
Et pour "awk", c'est une commande puissante (pas réussit :-( ), si quelqu'un peut me faire un petit exemple...ça serait très sympas, je ne m'en sort pas!!
pour aider un peu, en français ça devrait donner un truc du genre :
si il y a 'ligne rechercher' dans fichier
alors
echo de tout le reste du texte qui suit cette ligne
J'espère ne pas etre trop flou pour avoir une réponse très clair :-)
Exemple de code 1.7 : Affichage du bloc de texte souhaité
$ sed -n -e '/BEGIN/,/END/p' /mon/fichier/texte | more
Si le mot « BEGIN » n'a pas été trouvé, rien ne sera affiché. De plus, si « BEGIN » a été trouvé, mais que « END » n'a pas été trouvé plus loin, toutes les lignes suivant le « BEGIN » seront affichées. Cela est dû au fait que Sed est un éditeur de flux et donc il ne peut pas deviner à l'avance si « END » sera ou non rencontré.
http://www.gentoo.org/doc/fr/articles/l-sed1.xml
$ sed -n -e '/BEGIN/,/END/p' /mon/fichier/texte | more
Si le mot « BEGIN » n'a pas été trouvé, rien ne sera affiché. De plus, si « BEGIN » a été trouvé, mais que « END » n'a pas été trouvé plus loin, toutes les lignes suivant le « BEGIN » seront affichées. Cela est dû au fait que Sed est un éditeur de flux et donc il ne peut pas deviner à l'avance si « END » sera ou non rencontré.
http://www.gentoo.org/doc/fr/articles/l-sed1.xml
Si on reprend ton message #5 dans un fichier et qu'on veuille afficher les lignes partant de "Thu Jan" et jusqu'à la fin du fichier, avec "sed" ça donne :
sed -n '/Thu Jan/,$ p' fichieret si tu ne veux pas que la ligne contenant "Thu Jan" apparaisse, il suffit de l'écrire comme suit :
sed -n '/Thu Jan/,$ {/Thu Jan/b;p}' fichier
ou
sed '0,/Thu Jan/d' fichier;-))
bonjour,
voila, comme prévu j'ai esseyé la commande sed -n '/Thu Jan/,$ p' fichier
merci jipicy, cela m'a mis sur la bonne voie,
cela m'affiche bien en résultat le contenu du fichier à partir de Thu Jan
sauf que, en fait ce que je n'avais pas pensé, c'est que c'est un fichier qui est généré tous les jours, donc la date change tous les jours :-S
j'ai esseyé une commande du style :
sed -n '/`date -u "+%a %b"`/,$ p' fichier
où date -u "+%a %b" fonctionne seul et me rend la date du jour (ex. aujourd'hui : Wed Jan)
mais ne fonctionne pas avec la commande entière!!!
QU'EST CE QUI NE VA PAS?!?!
j'espère que quelqu'un pourra me répondre, je suis à deux doigts du but!!
voila, comme prévu j'ai esseyé la commande sed -n '/Thu Jan/,$ p' fichier
merci jipicy, cela m'a mis sur la bonne voie,
cela m'affiche bien en résultat le contenu du fichier à partir de Thu Jan
sauf que, en fait ce que je n'avais pas pensé, c'est que c'est un fichier qui est généré tous les jours, donc la date change tous les jours :-S
j'ai esseyé une commande du style :
sed -n '/`date -u "+%a %b"`/,$ p' fichier
où date -u "+%a %b" fonctionne seul et me rend la date du jour (ex. aujourd'hui : Wed Jan)
mais ne fonctionne pas avec la commande entière!!!
QU'EST CE QUI NE VA PAS?!?!
j'espère que quelqu'un pourra me répondre, je suis à deux doigts du but!!