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
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
A voir également:

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
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
0
dubcek Messages postés 18744 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 4 septembre 2024 5 617
25 janv. 2008 à 09:45
0
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
Salut,
sed -n '1,10 !p' fichier
ou
sed '1,10 d' fichier
ne prend pas en compte les 10 premières lignes.

;-))
0
merci pour votre aide,
j'essay tout de suite toutes les propositions...
0

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 :-)
0
dubcek Messages postés 18744 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 4 septembre 2024 5 617
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
0
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
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' fichier
et 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
;-))
0
merci jipicy,
je reprend le travail mercredi, j'essay ça dès que j'y suis!! :-)
0
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

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!!
0
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
Re-

Essaye comme ça :
DATE=$(date -u "+%a %b")
sed -n '/'"$DATE"'/,$ p' fichier 
;-))
0
VERY GOOD jipicy
c'est bon ça fonctionne!!! :D
merci beaucoup
0
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
De rien ;-))
0