Pb résultat affichage d'un fichier...
Fermé
mïkelkel
-
24 janv. 2008 à 17:08
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 - 31 janv. 2008 à 10:59
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 - 31 janv. 2008 à 10:59
A voir également:
- Pb résultat affichage d'un fichier...
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Ouvrir un fichier .bin - Guide
- Comment ouvrir un fichier docx ? - Guide
12 réponses
EminoMeneko
Messages postés
2435
Date d'inscription
jeudi 24 janvier 2008
Statut
Membre
Dernière intervention
23 mai 2018
318
24 janv. 2008 à 20:37
24 janv. 2008 à 20:37
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
dubcek
Messages postés
18767
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
5 mars 2025
5 628
25 janv. 2008 à 09:45
25 janv. 2008 à 09:45
avec sed, voir là : http://www.commentcamarche.net/faq/sujet 6699 sed trucs et astuces
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
25 janv. 2008 à 10:02
25 janv. 2008 à 10:02
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 :-)
dubcek
Messages postés
18767
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
5 mars 2025
5 628
25 janv. 2008 à 15:50
25 janv. 2008 à 15:50
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
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
25 janv. 2008 à 16:18
25 janv. 2008 à 16:18
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!!
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
30 janv. 2008 à 16:20
30 janv. 2008 à 16:20
Re-
Essaye comme ça :
Essaye comme ça :
DATE=$(date -u "+%a %b") sed -n '/'"$DATE"'/,$ p' fichier;-))
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
31 janv. 2008 à 10:59
31 janv. 2008 à 10:59
De rien ;-))