Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 24/12/2007, à 14:11

titienne

[Résolu]manipulation d'un fichier txt

bonjour a tous
j'ai un fichier txt (log) qui fait environ 1.1 Go et je doit tout scruté. mon probleme est qu'il y a 90% des ligne qui sont inutile et il on tous un un mot ou une adresse ip identique ya t-il un logiciel ou un scripte qui me permet de suprimé toute c'est ligne en fonction des mot qui sont dedan ??

Dernière modification par titienne (Le 30/01/2008, à 04:31)

Hors ligne

#2 Le 24/12/2007, à 15:26

HymnToLife

Re : [Résolu]manipulation d'un fichier txt

sed /foo/d monfichier

retournera le contenu du ficher en omettant toutes les lignes qui contiennent le mot « foo ».


- Rodrigue, as-tu du cœur ?
- Non, mais j'ai du pique !

Hors ligne

#3 Le 24/12/2007, à 18:46

titienne

Re : [Résolu]manipulation d'un fichier txt

merci mais j'ai pas le temps de le lire !!
et peut-il avoir la posibilité de dir "foo" ou ".com" ou ... ???

Hors ligne

#4 Le 24/12/2007, à 19:58

Luffy49122

Re : [Résolu]manipulation d'un fichier txt

sed -n '/foo|.com/p' monfichier

affichera toute les lignes contenant soit foo soit .com

#5 Le 24/12/2007, à 21:54

titienne

Re : [Résolu]manipulation d'un fichier txt

encor merci mais c'est l'inverce que je veut : n'afiche pas toute les ligne contenant foo ou .com !!

Hors ligne

#6 Le 25/12/2007, à 00:44

Alain.g

Re : [Résolu]manipulation d'un fichier txt

sed '/foo\|\.com/d' monfichier

pour le ou, c'est  \| et le "." doit être précédé d'un \ pour ne pas être interprété comme un métacaractère


Xubuntu Karmic !

Hors ligne

#7 Le 25/12/2007, à 03:26

titienne

Re : [Résolu]manipulation d'un fichier txt

pour le coup je l'est ecri dans un fichieret ca donne ca :
sed '/foo\|\.com/d' monfichier >> log.txt

super merci c'est genial por le coup monfichier est passé de 1.1 Go à  13 Ko c'est moin fatigan a lire !! tongue

Hors ligne

#8 Le 22/01/2008, à 15:38

titienne

Re : [Résolu]manipulation d'un fichier txt

bonjour a tous,

je relance le sujet parce que dans mon fichier log chaque ligne commence par un timestamp (ex: 1201009590.980) en faite c'est sur tout la premiere serie de chifre qui m'intéresse (ex: 1201009590).
savez-vous comment le remplacé par la date et l'heure ??

Hors ligne

#9 Le 22/01/2008, à 15:53

Aurel34

Re : [Résolu]manipulation d'un fichier txt

titienne a écrit :

savez-vous comment le remplacé par la date et l'heure ??

par quelle date/heure veux-tu remplacer ta chaîne ? la date courante ? une date encodée dans la chaîne ?

#10 Le 22/01/2008, à 17:53

titienne

Re : [Résolu]manipulation d'un fichier txt

c'est un timestamp (nombre de seconde écoulé depuis le 1er janvier 1970) comment le remplacé par une date et un heure dans chaque ligne (chaque ligne commence par le timestamp)

Hors ligne

#11 Le 22/01/2008, à 20:40

abetsic

Re : [Résolu]manipulation d'un fichier txt

Essaye de regarder du coté du programme "date"

Hors ligne

#12 Le 22/01/2008, à 20:55

Alain.g

Re : [Résolu]manipulation d'un fichier txt

avec date :

date -d @1201009590

renvoie : mardi 22 janvier 2008, 14:46:30 (UTC+0100)

sinon :

echo 1201009590 | awk '{print strftime("%c",$1)}'

Trouvé sur cette page

Dernière modification par Alain.g (Le 22/01/2008, à 20:55)


Xubuntu Karmic !

Hors ligne

#13 Le 22/01/2008, à 23:06

titienne

Re : [Résolu]manipulation d'un fichier txt

oui merci mais chaque ligne a un timestamp différent ce que je voudré c'est la date et l'heure qui replace le timestamp de chaque ligne.

chaque ligne comence par un timestamp ex :

1201039313.585   3086 10.16.34.4 TCP_MISS/200 30965 GET http://forum.ubuntu-fr.org/viewforum.php? - DIRECT/213.95.41.13 text/html

serai remplacé par :

Tue Jan 22 23:01:53 CET 2008   3086 10.16.34.4 TCP_MISS/200 30965 GET http://forum.ubuntu-fr.org/viewforum.php? - DIRECT/213.95.41.13 text/html

merci de m'aidez.

Dernière modification par titienne (Le 22/01/2008, à 23:08)

Hors ligne

#14 Le 22/01/2008, à 23:32

abetsic

Re : [Résolu]manipulation d'un fichier txt

awk '{gsub($1,strftime("%c ",$1),$0); print $0}'

gsub permet de faire la substitution du premier argument par le deuxième dans la chaine définie par le 3ème argument. Puis on affiche la ligne qui vient d'être modifiée avec le print.

Hors ligne

#15 Le 22/01/2008, à 23:33

freebird

Re : [Résolu]manipulation d'un fichier txt

essaye ça :

awk ' { $1=strftime("%c",$1); print }' log.txt

Hors ligne

#16 Le 25/01/2008, à 04:50

titienne

Re : [Résolu]manipulation d'un fichier txt

bonjour,

abetsic, freebird,
voici ce que me retoune ce que vous m'avais donné :

awk: line 2: function strftime never defined

Hors ligne

#17 Le 25/01/2008, à 10:54

Alain.g

Re : [Résolu]manipulation d'un fichier txt

installe gawk, ça ne fonctionne pas avec mawk (tu peux même remplacer awk par gawk dans la ligne)


Xubuntu Karmic !

Hors ligne

#18 Le 30/01/2008, à 04:31

titienne

Re : [Résolu]manipulation d'un fichier txt

super ça fonctionne, Merci Alain.g !!

désolé pour le temps de réponse mais je ne pouvais faire autrement !!

encore merci a tous !!

Hors ligne