Tu peux esayer le logiciel tree avec l'option -H il permet d'évoir un fichier html. Tiens voici mon petit montage pour faire ce que tu veux faire : avec en oplus un gestions des mouvements (suppressions, ajouts, ...). Si tu veux les originaux mail moi.
-- Fichier listing
#!/bin/bash
# Description : ce script utilise les commande de shell pour faire
# un listing des fichiers présents, la sorite est en HTML
# Il faut modifier la sortie après par un script Perl
# On créé :
# - 1 fichier listing-12-12-02 qui contient la liste des répertoires + des
# fichiers de /mnt/divers/mp3 de toute l'arborescence sans le répertoire
# .gestion qui ne contient rien d'interessant
# - 1 fichier repertoires-12-12-02 qui contient la liste des répertoires
# de /mnt/divers/mp3 de toute l'arborescence sans le répertoire
# .gestion qui ne contient rien d'interessant
# - 1 fichier "old" pour l'ancien fichier
# - 1 fichier de différence pour listing
# - 1 fichier de différence pour repertoires
# C'est parti mon quiqui
#on va dans le répertoire de stockage
cd /mnt/divers/mp3/.gestion/
# On copie les "anciens fichiers" standards
cp -f listing listing.old
cp -f repertoires repertoires.old
cp -f diff diff-`date +'%d-%m-%y'`
# On fait la différence
echo "Fichier de différence" > diff
echo "Date de l'enregistrement : `date +'%d-%m-%y'`" >> diff
echo "" >> diff
diff listing.old listing | grep '^>' >> diff
echo "" >> diff
echo "#----------#" >> diff
echo "" >> diff
diff listing.old listing | grep '^<' >> diff
echo "</suppression>" >> diff
#On veut tout garder les infos (ajouts, suppressions)
--
et le fichier listing.pl
--
#!/usr/bin/perl -w
# Description : ce script met enforme les résultats obtenus
# par le script pour faire un listing html
# On commence par ouvrir les fichiers listing, diff et répertoires
open (LISTING, "/mnt/divers/mp3/.gestion/listing")or die "Impossible d'ouvrir le fichier: $!";
open (REPERTOIRES, "/mnt/divers/mp3/.gestion/repertoires") or die "Impossible d'ouvrir le fichier: $!";
open (DIFF, "/mnt/divers/mp3/.gestion/diff") or die "Impossible d'ouvrir le fichier: $!";
# Ensuite on ouvre les fichiers HTML résultats
open (LISTING_HTML, ">/mnt/divers/mp3/.gestion/listing.html")or die "Impossible d'ouvrir le fichier: $!";
open (REPERTOIRES_HTML, ">/mnt/divers/mp3/.gestion/repertoires.html") or die "Impossible d'ouvrir le fichier: $!";
open (DIFF_HTML, ">/mnt/divers/mp3/.gestion/diff.html") or die "Impossible d'ouvrir le fichier: $!";
# ------------------------------------------------------
# On attaque les définitions pour les fichiers HTML
# ------------------------------------------------------
#-------------------------------------------------------
# Traitement des données
#-------------------------------------------------------
#On commence par un tri : on sélectionne entre les bornes
# et
#Première itération sur listing
while () { last if m//; }
#while() { last if m/<\/BODY>/; print; }
while () { last if m//; print LISTING_HTML; }
#Seconde itération sur répertoires
while () { last if m//; }
while () { last if m//; print REPERTOIRES_HTML; }
#On traite les diff maitenant
print DIFF_HTML "";
while () { last if m//; }
while () { last if m/<\/ajout>/; print DIFF_HTML; }
while () { last if m//; }
while () { last if m/<\/suppression>/; print DIFF_HTML; }
# Re: Catalogue HTML d'un file system
Posté par Laurent Saint-Michel . En réponse au journal Catalogue HTML d'un file system. Évalué à 8.
-- Fichier listing
#!/bin/bash
# Description : ce script utilise les commande de shell pour faire
# un listing des fichiers présents, la sorite est en HTML
# Il faut modifier la sortie après par un script Perl
# On créé :
# - 1 fichier listing-12-12-02 qui contient la liste des répertoires + des
# fichiers de /mnt/divers/mp3 de toute l'arborescence sans le répertoire
# .gestion qui ne contient rien d'interessant
# - 1 fichier repertoires-12-12-02 qui contient la liste des répertoires
# de /mnt/divers/mp3 de toute l'arborescence sans le répertoire
# .gestion qui ne contient rien d'interessant
# - 1 fichier "old" pour l'ancien fichier
# - 1 fichier de différence pour listing
# - 1 fichier de différence pour repertoires
# C'est parti mon quiqui
#on va dans le répertoire de stockage
cd /mnt/divers/mp3/.gestion/
# On copie les "anciens fichiers" standards
cp -f listing listing.old
cp -f repertoires repertoires.old
cp -f diff diff-`date +'%d-%m-%y'`
# On fait les "nouveaux fichiers" standard (pas d'extension HTLM)
# Sans la date
tree /mnt/divers/mp3/ -H 'ftp://xxxx.dyndns.org'(...) > listing
tree /mnt/divers/mp3/ -d -H 'ftp://xxxx.dyndns.org'(...) > repertoires
# Avec la date
tree /mnt/divers/mp3/ -H 'ftp://xxxx.dyndns.org'(...) > listing-`date +'%d-%m-%y'`
tree /mnt/divers/mp3/ -d -H 'ftp://xxxx.dyndns.org'(...) > repertoires-`date +'%d-%m-%y'`
# On fait la différence
echo "Fichier de différence" > diff
echo "Date de l'enregistrement : `date +'%d-%m-%y'`" >> diff
echo "" >> diff
diff listing.old listing | grep '^>' >> diff
echo "" >> diff
echo "#----------#" >> diff
echo "" >> diff
diff listing.old listing | grep '^<' >> diff
echo "</suppression>" >> diff
#On veut tout garder les infos (ajouts, suppressions)
--
et le fichier listing.pl
--
#!/usr/bin/perl -w
# Description : ce script met enforme les résultats obtenus
# par le script pour faire un listing html
# On commence par ouvrir les fichiers listing, diff et répertoires
open (LISTING, "/mnt/divers/mp3/.gestion/listing")or die "Impossible d'ouvrir le fichier: $!";
open (REPERTOIRES, "/mnt/divers/mp3/.gestion/repertoires") or die "Impossible d'ouvrir le fichier: $!";
open (DIFF, "/mnt/divers/mp3/.gestion/diff") or die "Impossible d'ouvrir le fichier: $!";
# Ensuite on ouvre les fichiers HTML résultats
open (LISTING_HTML, ">/mnt/divers/mp3/.gestion/listing.html")or die "Impossible d'ouvrir le fichier: $!";
open (REPERTOIRES_HTML, ">/mnt/divers/mp3/.gestion/repertoires.html") or die "Impossible d'ouvrir le fichier: $!";
open (DIFF_HTML, ">/mnt/divers/mp3/.gestion/diff.html") or die "Impossible d'ouvrir le fichier: $!";
# ------------------------------------------------------
# On attaque les définitions pour les fichiers HTML
# ------------------------------------------------------
# Listing complet des fichiers
print LISTING_HTML <<"FIN";
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd(...)">
Liste des fichiers musicaux
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<!--
BODY { font-family : courier, arial, sans-serif; }
.VERSION { font-family : arial, sans-serif; }
-->
FIN
#Listing des répertoires
print REPERTOIRES_HTML <<"FIN";
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd(...)">
Liste des répertoires
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<!--
BODY { font-family : courier, arial, sans-serif; }
.VERSION { font-family : arial, sans-serif; }
-->
FIN
#Listing des differences
print DIFF_HTML <<"FIN";
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd(...)">
Liste des différences
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<!--
BODY { font-family : courier, arial, sans-serif; }
.VERSION { font-family : arial, sans-serif; }
-->
FIN
#-------------------------------------------------------
# Traitement des données
#-------------------------------------------------------
#On commence par un tri : on sélectionne entre les bornes
# et
#Première itération sur listing
while () { last if m//; }
#while() { last if m/<\/BODY>/; print; }
while () { last if m//; print LISTING_HTML; }
#Seconde itération sur répertoires
while () { last if m//; }
while () { last if m//; print REPERTOIRES_HTML; }
#On traite les diff maitenant
print DIFF_HTML "";
while () { last if m//; }
while () { last if m/<\/ajout>/; print DIFF_HTML; }
while () { last if m//; }
while () { last if m/<\/suppression>/; print DIFF_HTML; }
#Cloture des fichiers HTML
print LISTING_HTML <<"FIN";
Listing generated par tree v1.4b1 © 1996 - 2002 by Steve Baker and Thomas Moore
HTML output hacked and copyleft © 1998 by Francesc Rocher, modified by Laurent Saint-Michel (2002)
This software is experimental. Send commends and/or suggestions to Laurent saint-Michel
FIN
print REPERTOIRES_HTML <<"FIN";
Listing generated par tree v1.4b1 © 1996 - 2002 by Steve Baker and Thomas Moore
HTML output hacked and copyleft © 1998 by Francesc Rocher, modified by Laurent Saint-Michel (2002)
This software is experimental. Send commends and/or suggestions to Laurent saint-Michel
FIN
print DIFF_HTML <<"FIN";
Listing generated par tree v1.4b1 © 1996 - 2002 by Steve Baker and Thomas Moore
HTML output hacked and copyleft © 1998 by Francesc Rocher, modified by Laurent Saint-Michel (2002)
This software is experimental. Send commends and/or suggestions to Laurent saint-Michel
FIN
# On ferme les handler sur les fichiers
close(LISTING_HTML);
close(REPERTOIRES_HTML);
close(DIFF_HTML);