extraire des lignes d'un fichier de log - Linux et OS Alternatifs
Marsh Posté le 12-11-2003 à 11:40:09
tu saurais delimiter la zone ou les fichiers se trouvent ?
est ce qu'il y a un motif qui peut apparaitre pour dire "là je vais avoir mes fichiers" et "là y en a plus" (il y a des "....." dans ton exemple, sont ils toujours là ?)
Marsh Posté le 12-11-2003 à 11:44:14
En fait les fichiers apparaissent systématiquement après :
Code :
|
et se terminent avec:
Code :
|
Mais dans cette liste, il y a des noms de fichiers effacés
(qui commentcent par : deleting)
et des noms de répertoires (qui se terminent par '/')
.......je ne veux pas ces 2-ci, seulement les fichiers mis à jour.
J'essaye avec awk, grep ......... mais pas moyen.
Marsh Posté le 12-11-2003 à 11:46:04
En gros, si j'arrive à lister les lignes comprises entre les 2 délimiteurs, je devrais m'en sortir avec grep,
mais je n'arrive pas à fournir la liste de ces lignes à grep.
Marsh Posté le 12-11-2003 à 11:46:12
T'as essayé de faire quelque chose avec --log-format=FORMAT ?
Citation : This allows you to specify exactly what the rsync client logs to |
Voilà le sus-dit format :
Citation : log format |
Marsh Posté le 12-11-2003 à 11:48:54
.......je vais regarder ça
Marsh Posté le 12-11-2003 à 11:56:59
Code :
|
Marsh Posté le 12-11-2003 à 12:03:28
hum...........parfait !
j'aurais voulu le faire en script shell,
mais je crois que je vais garder ça
Marsh Posté le 12-11-2003 à 14:54:18
ca peut aussi se faire avec awk c'est a ca que je pensais
dans le principe, tu poses un flag quand tu rencontres la ligne "building file list ... done", et si ce flag est validé, tu ne garde que les lignes qui ne commencent pas par delete et ne finissent pas par /
Code :
|
bon, le code doit etre foireux, c'est faitr de tete, mais ca doit pouvoir se faire comme ça
Marsh Posté le 12-11-2003 à 11:34:27
Bonjour,
j'ai un fichier de log de rsync.
Il faut que je récupère les noms de fichiers transférés.
Pour ce faire, je dois prendre, entre 2 lignes,
les noms de fichiers ne se terminant pas par un '/'
.......mais je n'y arrive pas.
Pourtant je pense que ce n'est pas trop compliqué.
A une certaine ligne (pas forcément fixe) commence un liste de répertoires et de noms de fichiers.
Cette liste se termine à une ligne qui est aussi inconnue(dépend du nombre de fichiers).
Ex:
En l'occurence je veux récupérer :
J'aimerais faire ceci avec un script shell, pour la facilité de mise à jour.
---------------
Il n'est pas nécéssaire de réussir pour persévérer.