#27151 Le 01/03/2010, à 12:08
- \\Ouranos//
Re : Topic des couche-tard (30)
tshirtman a écrit :Si j'ai dormi, entre 23h et minuit,
/me, pleins de mauvaise foi, retire 7 points à rmy
oupa
/me, vangeur, dessoude un à un tous les composants du PCB du DD de tshirtman, et garde l'ouverture et la rayure des plateaux au "flex" comme moyen de pression de grande envergure !
(aussi!)
:lol::lol:
Ubuntu facile, c'est :
- Dire "Bonjour"
- Lire la doc et les règles du forum avant de poster. Savoir poser une question intelligemment.
- Mettre des balises url autour des liens et un tiret à su.
Hors ligne
#27152 Le 01/03/2010, à 12:21
- tshirtman
Re : Topic des couche-tard (30)
Aujourd'hui en TD d'info : les algorithmes de tri
Du coup, baaah... Je plope
c'est intéressant quand même, j'ai finis par comprendre le qsort dans un td comme ça moi ^^ (enfin suffisamment pour le ré-implémenter correctement en DS sur table, pour la première fois ^^)
Hors ligne
#27153 Le 01/03/2010, à 12:41
- Dr Le Rouge
Re : Topic des couche-tard (30)
M'en était bouffé en long en large et en travers en PREPA...
Et la POO c'est tout pourri pour faire du tri sur arbre ><
C'est deux suites de Cauchy qui veulent aller à la soirée 'no limit'. Hélas, à l'entrée le videur leur dit : "désolé, c'est complet !".
mon site perso (π²/6.fr) et mon blog
Hors ligne
#27154 Le 01/03/2010, à 12:42
- rmy
Re : Topic des couche-tard (30)
hé, les pros du bash, je suis en train de faire mon premier script un peu intéressant, et je galère parce que je n'y connais rien. Ça vient doucement mais je bute sur un truc :
Actuellement, je veux stocker la liste de tous les fichiers d'un répertoire et leur somme de contrôle dans un fichier, et dans un autre que la somme de contrôle...
J'ai donc ça :
find $1 -type f -print0 | xargs -0 md5sum > .comparmy/full.md5
et ça
find $1 -type f -print0 | xargs -0 md5sum | cut -c -32 > .comparmy/$1.md5
Mon esprit affuté se dit qu'il doit bien y avoir moyen de faire ça en une ligne non ?
Mais comment récupérer alors le retour de la première commande puisque la sortie est redirigée vers le fichier "full.md5" ??
récupération de données: vrac–topic unique–mon site pro pour les particuliers : www.diskcard.fr– Je recycle volontiers tous vos disques durs HS (ou pas).
Le site pro pour les pros, spécialiste recupération de données RAID, NAS et serveurs: www.vodata.fr
Hors ligne
#27155 Le 01/03/2010, à 12:45
- \\Ouranos//
Re : Topic des couche-tard (30)
M'en était bouffé en long en large et en travers en PREPA...
Et la POO c'est tout pourri pour faire du tri sur arbre ><
Pan.
Ubuntu facile, c'est :
- Dire "Bonjour"
- Lire la doc et les règles du forum avant de poster. Savoir poser une question intelligemment.
- Mettre des balises url autour des liens et un tiret à su.
Hors ligne
#27156 Le 01/03/2010, à 12:50
- tshirtman
Re : Topic des couche-tard (30)
:]
la POO n'est pas la solution ultime à tous les problèmes
implémente les tris en fonctionnels pour embêter tes profs (et c'est sûrement un exercice intellectuel très enrichissant ^^).
Hors ligne
#27157 Le 01/03/2010, à 12:56
- Dr Le Rouge
Re : Topic des couche-tard (30)
:]
la POO n'est pas la solution ultime à tous les problèmes
Ca, je n'en doute pas une seconde ! Mais on ne me laisse pas le choix (en théorie )
implémente les tris en fonctionnels pour embêter tes profs
Je ne t'ai pas attendu
C'est deux suites de Cauchy qui veulent aller à la soirée 'no limit'. Hélas, à l'entrée le videur leur dit : "désolé, c'est complet !".
mon site perso (π²/6.fr) et mon blog
Hors ligne
#27158 Le 01/03/2010, à 13:02
- rmy
Re : Topic des couche-tard (30)
Vous faites les malins avec votre POO et vos algo de tri, mais pour mon bash... il n'y a personne !
récupération de données: vrac–topic unique–mon site pro pour les particuliers : www.diskcard.fr– Je recycle volontiers tous vos disques durs HS (ou pas).
Le site pro pour les pros, spécialiste recupération de données RAID, NAS et serveurs: www.vodata.fr
Hors ligne
#27159 Le 01/03/2010, à 13:15
- tshirtman
Re : Topic des couche-tard (30)
hé, les pros du bash, je suis en train de faire mon premier script un peu intéressant, et je galère parce que je n'y connais rien. Ça vient doucement mais je bute sur un truc :
Actuellement, je veux stocker la liste de tous les fichiers d'un répertoire et leur somme de contrôle dans un fichier, et dans un autre que la somme de contrôle...
J'ai donc ça :
find $1 -type f -print0 | xargs -0 md5sum > .comparmy/full.md5
et ça
find $1 -type f -print0 | xargs -0 md5sum | cut -c -32 > .comparmy/$1.md5
Mon esprit affuté se dit qu'il doit bien y avoir moyen de faire ça en une ligne non ?
Mais comment récupérer alors le retour de la première commande puisque la sortie est redirigée vers le fichier "full.md5" ??
benÏ…
cut -c -32 .comparmy/full.md5 > .comparmy/$1.md5
sinon si tu veux tout faire en une ligne utilise "tee".
Dernière modification par tshirtman (Le 01/03/2010, à 13:18)
Hors ligne
#27160 Le 01/03/2010, à 13:34
- rmy
Re : Topic des couche-tard (30)
oui c'est bien ça, c'est tee, mais est-ce que ça fait gagner du temps ?
EDIT : oui, rtfm
Et voilà mon premier script...
Les pros, si vous voulez vous pencher sur la question...
#!/bin/bash
# comparmy créé le 1/03/2010 par rmy
# Licence CC-BY-SA
# sabatier"point"remy at free"point"fr"
# comparaison récursive de trois dossiers pour aider à organiser les sauvegardes
# brouillon par rmy, à améliorer grandement. Peut-être ce type d'outil existe-t-il déjà, mais je n'ai pas trouvé mon bonheur. C'est mon premier script bash, améliorez-le...
# Usage :
# comparmy.sh dossier1 dossier2 dossier3
# Objet : comparaison complète de chacun des dossiers pour trouver les doublons de l'un à l'autre. Peut-être utile pour gérer les sauvegardes...
# à optimiser probablement en utilisant join ou comm
# à améliorer en vérifiant l'existance de doublons dans chaque dossier lui-même
# à améliorer en proposant des options pour rendre la sortie utilisable -> uniquement les md5, uniquement un cas de figure précis... pour l'utiliser par exemple sur de la copie ou supression automatisée...
# Prévoir vérification de présence de 3 dossiers ou prendre un fichier vide si manquant et suppression des fichiers temporaires (que l'on peut conserver avec une option à passer)
#Créer un dossier pour stockage des fichiers temporaires
mkdir .comparmy
#Créer fichiers listes md5 et liste complète
find $1 -type f -print0 | xargs -0 md5sum |tee .comparmy/full.md5 | cut -c -32 > .comparmy/$1.md5
find $2 -type f -print0 | xargs -0 md5sum |tee -a .comparmy/full.md5 | cut -c -32 > .comparmy/$2.md5
find $3 -type f -print0 | xargs -0 md5sum |tee -a .comparmy/full.md5 | cut -c -32 > .comparmy/$3.md5
#Trier fichiers listes md5
cd .comparmy
sort $1.md5 > $1.md5.sorted
sort $2.md5 > $2.md5.sorted
sort $3.md5 > $3.md5.sorted
sort full.md5 > full.md5.sorted
#Comparer les fichiers listes md5 pour retourner :
# Les doublons dans $1, les doublons dans $2 les doublons dans $3 << pas implémenté, à prévoir
# Les fichiers qui n'existent que dans $1, que dans $2, que dans $3
# Les fichiers qui n'existent que dans $1et$2, que dans $1et$3, que dans $2et$3
# Les fichiers qui existent dans les trois
#dans $1, pas dans $2
diff $1.md5.sorted $2.md5.sorted | grep '<' | cut -c 3- > anotb.diff
#dans $2, pas dans $1
diff $1.md5.sorted $2.md5.sorted | grep '>' | cut -c 3- > bnota.diff
#dans $1et$2
diff $1.md5.sorted anotb.diff | grep '<' | cut -c 3- > aandb.diff
#dans $1, pas dans $3
diff $1.md5.sorted $3.md5.sorted | grep '<' | cut -c 3- > anotc.diff
#dans $3, pas dans $1
diff $1.md5.sorted $3.md5.sorted | grep '>' | cut -c 3- > cnota.diff
#dans $1et$3
diff $1.md5.sorted anotc.diff | grep '<' | cut -c 3- > aandc.diff
#dans $2, pas dans $3
diff $2.md5.sorted $3.md5.sorted | grep '<' | cut -c 3- > bnotc.diff
#dans $3, pas dans $2
diff $2.md5.sorted $3.md5.sorted | grep '>' | cut -c 3- > cnotb.diff
#dans $2et$3
diff $2.md5.sorted bnotc.diff | grep '<' | cut -c 3- > bandc.diff
#dans $1 seult
diff anotb.diff $3.md5.sorted | grep '<' | cut -c 3- > aseult.diff
#dans $2 seult
diff bnota.diff $3.md5.sorted | grep '<' | cut -c 3- > bseult.diff
#dans $3 seult
diff cnota.diff $2.md5.sorted | grep '<' | cut -c 3- > cseult.diff
#dans $1et$2 mais pas $3
diff aandb.diff $3.md5.sorted | grep '<' | cut -c 3- > abseul.diff
#dans $1et$3 mais pas $2
diff aandc.diff $2.md5.sorted | grep '<' | cut -c 3- > acseul.diff
#dans $2et$3 mais pas $1
diff bandc.diff $1.md5.sorted | grep '<' | cut -c 3- > bcseul.diff
#dans les trois
diff aandb.diff abseul.diff | grep '<' | cut -c 3- > tous.diff
#fichier de sortie :
echo "****************DANS TOUS" > retour
while read line
do
echo $line >> retour
cat full.md5 | grep $line | cut -c 33- >> retour
done < tous.diff
echo "****************DANS $1 SEULEMENT" >> retour
while read line
do
echo $line >> retour
cat full.md5 | grep $line | cut -c 33- >> retour
done < aseult.diff
echo "****************DANS $2 SEULEMENT" >> retour
while read line
do
echo $line >> retour
cat full.md5 | grep $line | cut -c 33- >> retour
done < bseult.diff
echo "****************DANS $3 SEULEMENT" >> retour
while read line
do
echo $line >> retour
cat full.md5 | grep $line | cut -c 33- >> retour
done < cseult.diff
echo "****************DANS $1 ET $2 SEULEMENT" >> retour
while read line
do
echo $line >> retour
cat full.md5 | grep $line | cut -c 33- >> retour
done < abseul.diff
echo "****************DANS $1 ET $3 SEULEMENT" >> retour
while read line
do
echo $line >> retour
cat full.md5 | grep $line | cut -c 33- >> retour
done < acseul.diff
echo "****************DANS $2 ET $3 SEULEMENT" >> retour
while read line
do
echo $line >> retour
cat full.md5 | grep $line | cut -c 33- >> retour
done < bcseul.diff
cat retour
Dernière modification par rmy (Le 01/03/2010, à 21:41)
récupération de données: vrac–topic unique–mon site pro pour les particuliers : www.diskcard.fr– Je recycle volontiers tous vos disques durs HS (ou pas).
Le site pro pour les pros, spécialiste recupération de données RAID, NAS et serveurs: www.vodata.fr
Hors ligne
#27161 Le 01/03/2010, à 13:52
- tshirtman
Re : Topic des couche-tard (30)
/me revient de manger…
par rapport à ta version (avec deux find) oui, par rapport à la mienne (la deuxième ligne utilise le résultat de le première) c'est bien plus discutable... mais tu peux faire
find -type f -print0 |xargs -0 md5sum |tee .comparmy/full.md5| cut -c -32 > .comparmy/$1.md5
edit: /me aurait du refresh xD
Dernière modification par tshirtman (Le 01/03/2010, à 13:53)
Hors ligne
#27162 Le 01/03/2010, à 15:36
- rmy
Re : Topic des couche-tard (30)
Ah oui mais non... parce que dans l'histoire, je crois que ta solution risque de ne me garder que les 32 premiers caractères du fichier, pas de chaque ligne, si ?
EDIT : je parlais de la solution précédente, hein... Celle avec les deux lignes ou la deuxième prend le résultat de la première.
Dernière modification par rmy (Le 01/03/2010, à 15:37)
récupération de données: vrac–topic unique–mon site pro pour les particuliers : www.diskcard.fr– Je recycle volontiers tous vos disques durs HS (ou pas).
Le site pro pour les pros, spécialiste recupération de données RAID, NAS et serveurs: www.vodata.fr
Hors ligne
#27163 Le 01/03/2010, à 15:44
- tshirtman
Re : Topic des couche-tard (30)
non non, cut marche sur toutes les lignes, c'est un découpage en colonne...
(au contraire de head, tail, grep et autres, qui permettent de découpages en lignes).
Hors ligne
#27164 Le 01/03/2010, à 15:49
- rmy
Re : Topic des couche-tard (30)
classe !
récupération de données: vrac–topic unique–mon site pro pour les particuliers : www.diskcard.fr– Je recycle volontiers tous vos disques durs HS (ou pas).
Le site pro pour les pros, spécialiste recupération de données RAID, NAS et serveurs: www.vodata.fr
Hors ligne
#27165 Le 01/03/2010, à 16:01
- \\Ouranos//
Re : Topic des couche-tard (30)
C'était l'après-midi "TD de bash" sur ubuntu-fr.
Ubuntu facile, c'est :
- Dire "Bonjour"
- Lire la doc et les règles du forum avant de poster. Savoir poser une question intelligemment.
- Mettre des balises url autour des liens et un tiret à su.
Hors ligne
#27166 Le 01/03/2010, à 18:02
- edge_one
Re : Topic des couche-tard (30)
p'tain de tempête!
connexion internet coupée pendant 30H... et un connard en as profité pour essayer de me voler ma voiture ><.
#27167 Le 01/03/2010, à 18:11
- rmy
Re : Topic des couche-tard (30)
J'espère qu'elle n'a pas trop souffert. J'espère que lui, oui.
Dernière modification par rmy (Le 01/03/2010, à 18:11)
récupération de données: vrac–topic unique–mon site pro pour les particuliers : www.diskcard.fr– Je recycle volontiers tous vos disques durs HS (ou pas).
Le site pro pour les pros, spécialiste recupération de données RAID, NAS et serveurs: www.vodata.fr
Hors ligne
#27168 Le 01/03/2010, à 18:21
- edge_one
Re : Topic des couche-tard (30)
1 vitre éclatée, des rayures sur le tableau de bord, les garnitures de portes en velours abimés tout comme le cuir et un essuie glace arraché
j'aimerais bien chopé le connard... il doit encore être en train de se demander où on met la clef...
#27169 Le 01/03/2010, à 18:42
- Zeibux
Re : Topic des couche-tard (30)
@Zeibux : Je n'ai pas bien compris ta question... Le prix libre, c'est ma pratique dans mon entreprise. Mon aide sur le forum est bénévole bien entendu... Par contre, je n'ai pas l'intention d'appliquer ce prix libre pour des prestations de services pour des entreprises. Il y a des pros qui font payer cher aux pros pour ça... ma démarche est de fournir mes services à des particuliers qui n'ont ni les compétences pour le faire seul, ni l'argent pour payer un service actuellement réservé aux entreprises vu le prix...
Donc du coup, je répond: On est d'accord alors. Je ne parle que pour le forum bien sur, si tu tombe sur quelqu'un qui à besoin d'aide, tu le fais, et si il n'y arrive pas tout seul, il sait que toi tu peu le faire mais c'est pas de la pub. On ce comprend? Es-ce qu'on parle de la même chose ?
Croix de bois croix de fer, si je mens, j'me tape une bière
La Valeur sur, c'est sur qu'il avale!
je veux bien qu'on pisse dans un violon, mais.. En rythme non d'un chien!
[Mémoire virtuelle limitée] encrypté, et dans un format obscur, propriétaire et non documenté...
Hors ligne
#27170 Le 01/03/2010, à 19:56
- Sir Na Kraïou
Re : Topic des couche-tard (30)
Rha, putain... J'ai rarement entendu autant de conneries en une seule journée !
Descendant de Charlemagne et de LUCA.
Bleu, en l'hommage d'un truc bleu. :'(
C'est pas du bleu.
C'est pas le lac de Genève, c'est le Lac Léman.
Hors ligne
#27171 Le 01/03/2010, à 20:20
- edge_one
Re : Topic des couche-tard (30)

Rha, putain... J'ai rarement entendu autant de conneries en une seule journée !
vivement que tu rentre dans le monde actif...
#27172 Le 01/03/2010, à 20:24
- tshirtman
Re : Topic des couche-tard (30)
le dur métier de prof tu verras, tu finiras par aimer xD...
Hors ligne
#27173 Le 01/03/2010, à 20:33
- Kanor
Re : Topic des couche-tard (30)

Rha, putain... J'ai rarement entendu autant de conneries en une seule journée !
Tu a des perles à nous proposer ?
Hors ligne
#27174 Le 01/03/2010, à 21:27
- nesthib
Re : Topic des couche-tard (30)
@rmy, un peu en retard :
for file in "$FOLDER/*"
do
[ -f "$file" ] && (
MD5=$(md5sum "$file")
cat <<<$MD5 >>files.txt
cat <<<${MD5% *} >>md5.txt )
done
ou en une ligne :
for file in "$FOLDER/*" ; do [ -f "$file" ] && (MD5=$(md5sum "$file") ; cat <<<$MD5 >>files.txt ; cat <<<${MD5% *} >>md5.txt ) ; done
GUL Bordeaux : Giroll – Services libres : TdCT.org
Hide in your shell, scripts & astuces : applications dans un tunnel – smart wget – trouver des pdf – install. auto de paquets – sauvegarde auto – ♥ awk
⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn
Hors ligne
#27175 Le 01/03/2010, à 21:36
- rmy
Re : Topic des couche-tard (30)
Donc du coup, je répond: On est d'accord alors. Je ne parle que pour le forum bien sur, si tu tombe sur quelqu'un qui à besoin d'aide, tu le fais, et si il n'y arrive pas tout seul, il sait que toi tu peu le faire mais c'est pas de la pub. On ce comprend? Es-ce qu'on parle de la même chose ?
![]()
Heu... peut-être ?
Tu as parfois l'esprit suffisamment tordu pour que je ne me risque pas à garantir que ce qu'il y a dans ma tête est pareil que dans la mienne. Surtout quand tu dis des trucs comme ça il y a moins de 24H...
;`.. ytrop sou btime!Chui trop R&id A- je ùe cpuche et je vous bonsoir? Rmy, je te rep deméin
Mais en gros je pense qu'on est assez d'accord.
@Nesthib heu... je vois pas bien ce que ça apporte de plus par rapport à la solution avec tee. C'est sans doute super ce que tu as fait, mais si tu ne m'expliques pas en quoi c'est mieux, je n'ai pas les capacités de trouver seul. Et... c'est pas récursif, si ?
Edit : @ les gens de l'ouest : tout va bien chez vous ? Il y a quelqu'un qui sait dans quel état sont les immeubles "Ponant 3" à la Rochelle, sur la plage des minimes ?
Dernière modification par rmy (Le 01/03/2010, à 21:39)
récupération de données: vrac–topic unique–mon site pro pour les particuliers : www.diskcard.fr– Je recycle volontiers tous vos disques durs HS (ou pas).
Le site pro pour les pros, spécialiste recupération de données RAID, NAS et serveurs: www.vodata.fr
Hors ligne