Software » [bash]Concours de script du jour
Catégorie:  
   
[bash]Concours de script du jour
Publié le 24/10/2006 @ 14:09:43,
Par blietaer
Bonjour,

Voici l'énoncé:

"Création d'un Chown intergalactique"

"Toto dispose d'une machine *nix avec plusieurs utilisateurs.
Un des utilisateurs s'appele roger, et vient de quitter la boite.
Son travail va être repris par muscadet.
Aide toto à écrire une commande (ou un script, max 10 lignes) qui lui permettra de trouver et donner la propriété et tous les droits sur les fichiers de roger, pour que muscadet puisse travailler dessus comme si c'était les siens.
Indice: tous les fichiers se trouve dans pleins de répertoires qui peuvent-être trèèès profond."

on ramasse les copies dans une heure.
Et au besoin s'arrêter.
   
[bash]Concours de script du jour
Publié le 24/10/2006 @ 14:12:20,
Par rfr
find / -user roger -exec chown muscadet \{\} \;

edit: manque un petit -

Dernière édition: 24/10/2006 @ 14:15:11
To die is a time consuming activity, it often takes a lifetime (but some are faster than others ... though)
   
[bash]Concours de script du jour
Publié le 24/10/2006 @ 14:19:53,
Par blietaer
merci !!

(quitte à apprendre un truc, pq les trois slashes à la fin?)
(et le chmod se fait de même?)
Et au besoin s'arrêter.
   
[bash]Concours de script du jour
Publié le 24/10/2006 @ 14:26:37,
Par rfr
Parce que { } et ; ont des significations en bash, donc il faut escaper :wink:

Pareil pour chmod et toutes autres commandes.

man find ...

as usual :wink:
To die is a time consuming activity, it often takes a lifetime (but some are faster than others ... though)
   
[bash]Concours de script du jour
Publié le 24/10/2006 @ 14:32:05,
Par blietaer
oui mais justement à quoi servent-ils dans le cas de chown?
ok ok RTFM...
Et au besoin s'arrêter.
   
[bash]Concours de script du jour
Publié le 24/10/2006 @ 14:47:19,
Par ovh
chown -R roger.roger *.*

C'est pas bon ? :wam:
Je n'ai rien à voir avec www.ovh.com
   
[bash]Concours de script du jour
Publié le 24/10/2006 @ 14:49:48,
Par blietaer
ovh> heuuu tu prends tous les fichiers toi!??? et ceux de miranda, rolandine, lorana, greta,...
et tu ne remplace pas par "muscadet" ???
Et au besoin s'arrêter.
   
[bash]Concours de script du jour
Publié le 24/10/2006 @ 14:52:21,
Par ovh
Oué je voulais dire muscadet à la place de roger :joce:

Moi je pensais que le but était que muscadet ait accès à tous les fichiers de /home/roger non ? :cupra:

Si les fichiers de roger sont rangés parmi une foule de fichiers divers là bien sûr il faut la méthode de rfr avec find :oh:
Je n'ai rien à voir avec www.ovh.com
   
[bash]Concours de script du jour
Publié le 24/10/2006 @ 15:26:02,
Par cauet
A mon avis ovh t'a abusé du muscadet.. :chut:
   
[bash]Concours de script du jour
Publié le 24/10/2006 @ 15:30:26,
Par Ppxl
Soif avec tout ca!
   
[bash]Concours de script du jour
Publié le 24/10/2006 @ 15:43:31,
Par rfr
oui mais justement à quoi servent-ils dans le cas de chown?
ok ok RTFM...


find remplace les {} par le nom du fichier trouvé en cours

; indique à find que c'est la fin de la commande -exec, ainsi tu peux ajouter des paramètres à find après, genre

find / -user roger -exec chown muscadet \{\} \; -print

-print est alors argument de find et non un argument de chown.

Dernière édition: 24/10/2006 @ 15:44:04
To die is a time consuming activity, it often takes a lifetime (but some are faster than others ... though)
   
[bash]Concours de script du jour
Publié le 24/10/2006 @ 15:55:29,
Par Keeper
marant j'ai jamais dû mettre les \ avant { ou } mais bien avant ;
   
[bash]Concours de script du jour
Publié le 24/10/2006 @ 16:47:03,
Par philfr
Je suis hors timing, mais tout de même...

find / -user roger | xargs chown muscadet


est beaucoup plus performant, car il fait un exec de chown pour tout un paquet de fichiers à la fois.
J'avais déjà signalé ça ici, et certains se sont même amusés à faire des benchmarks...

Si certains des fichiers risquent de contenir des espaces ou pire, des caractères de contrôle, le plus sûr est de faire:
find / -user roger -print0 | xargs -0 chown muscadet


Dernière édition: 24/10/2006 @ 16:52:08
   
[bash]Concours de script du jour
Publié le 24/10/2006 @ 16:51:25,
Par philfr
marant j'ai jamais dû mettre les \ avant { ou } mais bien avant ;


Moi non plus... :wink:
Les { et } n'ont de signification particulière que précédés de $ ou dans une définition de fonction dans un script (j'ai pas vérifié les détails).

Et en tous cas, s'il faut escaper deux caractères consécutifs, je préfère utiliser ' et écrire '{}' plutôt que \{\}
   
[bash]Concours de script du jour
Publié le 02/01/2007 @ 13:55:39,
Par blietaer
Aujourd'hui on imagine un repertoire bourré de fichiers xml, dont on voudrait extraire de la source les adresses mails (indice...oui ca commence souvent par "mailto:" et ça doit contenir un "@")

(PS-rassurant: le spam c'est mal, je ne me livre pas à ce genre d'activité, juste du listing familial).

Et au besoin s'arrêter.
   
[bash]Concours de script du jour
Publié le 02/01/2007 @ 13:59:13,
Par ovh
Va falloir perler là :figti:
Je n'ai rien à voir avec www.ovh.com
   
[bash]Concours de script du jour
Publié le 02/01/2007 @ 14:05:22,
Par Altar
Un petit code c qui prendrait sur input la liste des fichiers à parser et qui te sortirait un fichier avec les addresses mail ? Xml C est ton ami dans ce cas là :itm:
   
[bash]Concours de script du jour
Publié le 02/01/2007 @ 14:15:48,
Par philfr
Si tes adresses sont sur une ligne, un simple grep devrait faire l'affaire...
Tu peux mettre un vrai exemple ?

   
[bash]Concours de script du jour
Publié le 02/01/2007 @ 14:27:47,
Par philfr
Genre

grep -i 'mailto:[A-Z0-9._%-]\+@[A-Z0-9.-]\+\.[A-Z]\{2,4\}' *.xml
   
[bash]Concours de script du jour
Publié le 02/01/2007 @ 14:29:04,
Par blietaer
Ah? moi je pensais que vous alliez me sortir un truc à la grep | sed | cut | sort | uniq | wc en deux coups de cuillères...
C'est que je ne me représente pas l'ampleur de la tâche :figti:

mmmh pas vraiment sur une ligne.

Voici un copié-collé...déjà compacté.

PARDON-WARNING ! je voulais dire HTML bien sur et pas XML...



#grep -rni "@" /monrepertoire > out
#cat out
<img src="Info_ContactAngleur-2.gif" width="388" height="133" border="1" usemap="#Map2Map"><map name="Map2Map"><area shape="rect" coords="0,-2,214,138" href="Co_InfoAngleur-2.html" alt="How to reach Spacebel Angleur?" title="How to reach Spacebel Angleur?"><area shape="rect" coords="232,116,372,132" href="mailto:info@spacebel.be" alt="e-mail" title="e-mail"></map>
www.spacebel.be/o:2:./En/General/Co_Info-2.html:75: <p align="center"><font size="2" face="Arial, Helvetica, sans-serif" color="#333399"><a href="#"><img src="Info_ContactHoeilaart-2.gif" width="388" height="133" border="1" usemap="#Map2"><map name="Map2"><area shape="rect" coords="232,116,372,132" href="mailto:info@spacebel.be" alt="e-mail" title="e-mail"><area shape="rect" coords="1,-2,215,138" href="Co_InfoHoeilaart-2.html" alt="How to reach Spacebel Hoeilaart?" title="How to reach Spacebel Hoeilaart?"></map></a>
www.spacebel.be/o:3:./En/General/Co_Contact-2.html:100: <img src="../../IcoMouse.gif"> <a href="mailto:info@spacebel.com"><font color="FFFFFF">info@spacebel.com</font></a>
www.spacebel.be/o:4:./En/General/Co_Contact-2.html:112: <img src="Co_Contact.gif" width="273" height="188" usemap="#Map2" border="1"><map name="Map2"><area shape="rect" coords="76,158,235,192" href="mailto:ingrid.leonard@spacebel.be"></map></font></p--->
www.spacebel.be/o:5:./En/General/Co_Jobs-2.html:117: <img src="../../IcoMouse.gif"> <a href="mailto:info_jobs@spacebel.com"><font color="FFFFFF">info_jobs-be@spacebel.com</font></a>
www.spacebel.be/o:6:./En/General/Co_Jobs-2.html:168: <img src="../../IcoMouse.gif"> <a href="mailto:info_jobs@spacebel.com"><font color="FFFFFF">info_jobs-fr@spacebel.com</font></a></font>
www.spacebel.be/o:7:./en/Space/Sp_Contact.html:76: <img src="Sp_contact.gif" border=1 usemap="#Map2"><map name="Map2"><area shape="rect" coords="92,188,221,203" href="mailto:luc.halbach@spacebel.be"></map>
www.spacebel.be/o:8:./en/Space/Sp_Contact.html:96: <img src="../../IcoMouse.gif"> <a href="mailto:info_space@spacebel.com"><font color="FFFFFF">info_space@spacebel.com</font></a>
www.spacebel.be/o:9:./en/Environment/En_Contact.html:92: <img src="../../IcoMouse.gif"> <a href="mailto:info_dvc@spacebel.com"><font color="FFFFFF">info_dvc@spacebel.com</font></a>
www.spacebel.be/o:10:./en/General/Co_Contact.html:100: <img src="../../IcoMouse.gif"> <a href="mailto:info@spacebel.com"><font color="FFFFFF">info@spacebel.com</font></a>
www.spacebel.be/o:11:./en/General/Co_Contact.html:112: <img src="Co_Contact.gif" width="273" height="188" usemap="#Map2" border="1"><map name="Map2"><area shape="rect" coords="76,158,235,192" href="mailto:ingrid.leonard@spacebel.be"></map></font></p--->
www.spacebel.be/o:12:./en/General/Co_Jobs.html:117: <img src="../../IcoMouse.gif"> <a href="mailto:info_jobs@spacebel.com"><font color="FFFFFF">info_jobs-be@spacebel.com</font></a>
www.spacebel.be/o:13:./en/General/Co_Jobs.html:168: <img src="../../IcoMouse.gif"> <a href="mailto:info_jobs@spacebel.com"><font color="FFFFFF">info_jobs-fr@spacebel.com</font></a></font>
www.spacebel.be/o:14:./en/General/Co_Info.html:73: <img src="Info_ContactAngleur.gif" width="388" height="133" border="1" usemap="#Map2Map"><map name="Map2Map"><area shape="rect" coords="0,-2,214,138" href="Co_InfoAngleur.html" alt="How to reach Spacebel Angleur?" title="How to reach Spacebel Angleur?"><area shape="rect" coords="232,116,372,132" href="mailto:info@spacebel.be" alt="e-mail" title="e-mail"></map>
www.spacebel.be/o:15:./en/General/Co_Info.html:75: <p align="center"><font size="2" face="Arial, Helvetica, sans-serif" color="#333399"><a href="#"><img src="Info_ContactHoeilaart.gif" width="388" height="133" border="1" usemap="#Map2"><map name="Map2"><area shape="rect" coords="232,116,372,132" href="mailto:info@spacebel.be" alt="e-mail" title="e-mail"><area shape="rect" coords="1,-2,215,138" href="Co_InfoHoeilaart.html" alt="How to reach Spacebel Hoeilaart?" title="How to reach Spacebel Hoeilaart?"></map></a>
www.spacebel.be/o:16:./fr/Space/Sp_Contact.html:76: <img src="Sp_contact.gif" border=1 usemap="#Map2"><map name="Map2"><area shape="rect" coords="92,188,221,203" href="mailto:luc.halbach@spacebel.be"></map>
www.spacebel.be/o:17:./fr/Space/Sp_Contact.html:96: <img src="../../IcoMouse.gif"> <a href="mailto:info_space@spacebel.com"><font color="FFFFFF">info_space@spacebel.com</font></a>
www.spacebel.be/o:18:./fr/space/Sp_Contact-2.html:76: <img src="Sp_contact.gif" border=1 usemap="#Map2"><map name="Map2"><area shape="rect" coords="92,188,221,203" href="mailto:luc.halbach@spacebel.be"></map>
www.spacebel.be/o:19:./fr/space/Sp_Contact-2.html:96: <img src="../../IcoMouse.gif"> <a href="mailto:info_space@spacebel.com"><font color="FFFFFF">info_space@spacebel.com</font></a>
www.spacebel.be/o:20:./fr/Environment/En_Contact.html:92: <img src="../../IcoMouse.gif"> <a href="mailto:info_dvc@spacebel.com"><font color="FFFFFF">info_dvc@spacebel.com</font></a>
www.spacebel.be/o:21:./fr/General/Co_Contact.html:100: <img src="../../IcoMouse.gif"> <a href="mailto:info@spacebel.com"><font color="FFFFFF">info@spacebel.com</font></a>
www.spacebel.be/o:22:./fr/General/Co_Contact.html:112: <img src="Co_Contact.gif" width="273" height="188" usemap="#Map2" border="1"><map name="Map2"><area shape="rect" coords="76,158,235,192" href="mailto:ingrid.leonard@spacebel.be"></map></font></p--->
www.spacebel.be/o:23:./fr/General/Co_Jobs.html:115: <img src="../../IcoMouse.gif"> <a href="mailto:info_jobs@spacebel.com"><font color="FFFFFF">info_jobs-be@spacebel.com</font></a>
www.spacebel.be/o:24:./fr/General/Co_Jobs.html:164: <img src="../../IcoMouse.gif"> <a href="mailto:info_jobs@spacebel.com"><font color="FFFFFF">info_jobs-fr@spacebel.com</font></a></font>
www.spacebel.be/o:25:./fr/General/Co_Info.html:73: <img src="Info_ContactAngleur.gif" width="388" height="133" border="1" usemap="#Map2Map"><map name="Map2Map"><area shape="rect" coords="0,-2,214,138" href="Co_InfoAngleur.html" alt="How to reach Spacebel Angleur?" title="How to reach Spacebel Angleur?"><area shape="rect" coords="232,116,372,132" href="mailto:info@spacebel.be" alt="e-mail" title="e-mail"></map>
www.spacebel.be/o:26:./fr/General/Co_Info.html:75: <p align="center"><font size="2" face="Arial, Helvetica, sans-serif" color="#333399"><a href="#"><img src="Info_ContactHoeilaart.gif" width="388" height="133" border="1" usemap="#Map2"><map name="Map2"><area shape="rect" coords="232,116,372,132" href="mailto:info@spacebel.be" alt="e-mail" title="e-mail"><area shape="rect" coords="1,-2,215,138" href="Co_InfoHoeilaart.html" alt="How to reach Spacebel Hoeilaart?" title="How to reach Spacebel Hoeilaart?"></map></a>
Fichier binaire www.spacebel.be/En/General/Tableau Affiliated-2.png concorde
www.spacebel.be/En/General/Co_Info-2.html:73: <img src="Info_ContactAngleur-2.gif" width="388" height="133" border="1" usemap="#Map2Map"><map name="Map2Map"><area shape="rect" coords="0,-2,214,138" href="Co_InfoAngleur-2.html" alt="How to reach Spacebel Angleur?" title="How to reach Spacebel Angleur?"><area shape="rect" coords="232,116,372,132" href="mailto:info@spacebel.be" alt="e-mail" title="e-mail"></map>
www.spacebel.be/En/General/Co_Info-2.html:75: <p align="center"><font size="2" face="Arial, Helvetica, sans-serif" color="#333399"><a href="#"><img src="Info_ContactHoeilaart-2.gif" width="388" height="133" border="1" usemap="#Map2"><map name="Map2"><area shape="rect" coords="232,116,372,132" href="mailto:info@spacebel.be" alt="e-mail" title="e-mail"><area shape="rect" coords="1,-2,215,138" href="Co_InfoHoeilaart-2.html" alt="How to reach Spacebel Hoeilaart?" title="How to reach Spacebel Hoeilaart?"></map></a>
Fichier binaire www.spacebel.be/En/General/Tableau Business-2.png concorde
www.spacebel.be/En/General/Co_Contact-2.html:100: <img src="../../IcoMouse.gif"> <a href="mailto:info@spacebel.com"><font color="FFFFFF">info@spacebel.com</font></a>
www.spacebel.be/En/General/Co_Contact-2.html:112: <img src="Co_Contact.gif" width="273" height="188" usemap="#Map2" border="1"><map name="Map2"><area shape="rect" coords="76,158,235,192" href="mailto:ingrid.leonard@spacebel.be"></map></font></p--->
www.spacebel.be/En/General/Co_Jobs-2.html:117: <img src="../../IcoMouse.gif"> <a href="mailto:info_jobs@spacebel.com"><font color="FFFFFF">info_jobs-be@spacebel.com</font></a>
www.spacebel.be/En/General/Co_Jobs-2.html:168: <img src="../../IcoMouse.gif"> <a href="mailto:info_jobs@spacebel.com"><font color="FFFFFF">info_jobs-fr@spacebel.com</font></a></font>
www.spacebel.be/en/Space/Sp_Contact.html:76: <img src="Sp_contact.gif" border=1 usemap="#Map2"><map name="Map2"><area shape="rect" coords="92,188,221,203" href="mailto:luc.halbach@spacebel.be"></map>
www.spacebel.be/en/Space/Sp_Contact.html:96: <img src="../../IcoMouse.gif"> <a href="mailto:info_space@spacebel.com"><font color="FFFFFF">info_space@spacebel.com</font></a>
Fichier binaire www.spacebel.be/en/space/frescodsp_files/DSP_TS_DISTRIB.zip concorde
Fichier binaire www.spacebel.be/en/space/frescodsp_files/ADSP_GCC_SUN_v5_0.tar.gz concorde
Fichier binaire www.spacebel.be/en/space/frescodsp_files/ADSP_GCC_NT_CYG_v50.zip concorde
www.spacebel.be/en/Environment/En_Contact.html:92: <img src="../../IcoMouse.gif"> <a href="mailto:info_dvc@spacebel.com"><font color="FFFFFF">info_dvc@spacebel.com</font></a>
www.spacebel.be/en/General/Co_Contact.html:100: <img src="../../IcoMouse.gif"> <a href="mailto:info@spacebel.com"><font color="FFFFFF">info@spacebel.com</font></a>
www.spacebel.be/en/General/Co_Contact.html:112: <img src="Co_Contact.gif" width="273" height="188" usemap="#Map2" border="1"><map name="Map2"><area shape="rect" coords="76,158,235,192" href="mailto:ingrid.leonard@spacebel.be"></map></font></p--->
Fichier binaire www.spacebel.be/en/General/Tableau Affiliated.png concorde
Fichier binaire www.spacebel.be/en/General/Tableau Business.png concorde
www.spacebel.be/en/General/Co_Jobs.html:117: <img src="../../IcoMouse.gif"> <a href="mailto:info_jobs@spacebel.com"><font color="FFFFFF">info_jobs-be@spacebel.com</font></a>
www.spacebel.be/en/General/Co_Jobs.html:168: <img src="../../IcoMouse.gif"> <a href="mailto:info_jobs@spacebel.com"><font color="FFFFFF">info_jobs-fr@spacebel.com</font></a></font>
www.spacebel.be/en/General/Co_Info.html:73: <img src="Info_ContactAngleur.gif" width="388" height="133" border="1" usemap="#Map2Map"><map name="Map2Map"><area shape="rect" coords="0,-2,214,138" href="Co_InfoAngleur.html" alt="How to reach Spacebel Angleur?" title="How to reach Spacebel Angleur?"><area shape="rect" coords="232,116,372,132" href="mailto:info@spacebel.be" alt="e-mail" title="e-mail"></map>
www.spacebel.be/en/General/Co_Info.html:75: <p align="center"><font size="2" face="Arial, Helvetica, sans-serif" color="#333399"><a href="#"><img src="Info_ContactHoeilaart.gif" width="388" height="133" border="1" usemap="#Map2"><map name="Map2"><area shape="rect" coords="232,116,372,132" href="mailto:info@spacebel.be" alt="e-mail" title="e-mail"><area shape="rect" coords="1,-2,215,138" href="Co_InfoHoeilaart.html" alt="How to reach Spacebel Hoeilaart?" title="How to reach Spacebel Hoeilaart?"></map></a>
www.spacebel.be/fr/Space/Sp_Contact.html:76: <img src="Sp_contact.gif" border=1 usemap="#Map2"><map name="Map2"><area shape="rect" coords="92,188,221,203" href="mailto:luc.halbach@spacebel.be"></map>
www.spacebel.be/fr/Space/Sp_Contact.html:96: <img src="../../IcoMouse.gif"> <a href="mailto:info_space@spacebel.com"><font color="FFFFFF">info_space@spacebel.com</font></a>
www.spacebel.be/fr/space/Sp_Contact-2.html:76: <img src="Sp_contact.gif" border=1 usemap="#Map2"><map name="Map2"><area shape="rect" coords="92,188,221,203" href="mailto:luc.halbach@spacebel.be"></map>
www.spacebel.be/fr/space/Sp_Contact-2.html:96: <img src="../../IcoMouse.gif"> <a href="mailto:info_space@spacebel.com"><font color="FFFFFF">info_space@spacebel.com</font></a>
www.spacebel.be/fr/Environment/En_Contact.html:92: <img src="../../IcoMouse.gif"> <a href="mailto:info_dvc@spacebel.com"><font color="FFFFFF">info_dvc@spacebel.com</font></a>
www.spacebel.be/fr/General/Co_Contact.html:100: <img src="../../IcoMouse.gif"> <a href="mailto:info@spacebel.com"><font color="FFFFFF">info@spacebel.com</font></a>
www.spacebel.be/fr/General/Co_Contact.html:112: <img src="Co_Contact.gif" width="273" height="188" usemap="#Map2" border="1"><map name="Map2"><area shape="rect" coords="76,158,235,192" href="mailto:ingrid.leonard@spacebel.be"></map></font></p--->
Fichier binaire www.spacebel.be/fr/General/Tableau Affiliated.png concorde
Fichier binaire www.spacebel.be/fr/General/Tableau Business.png concorde
www.spacebel.be/fr/General/Co_Jobs.html:115: <img src="../../IcoMouse.gif"> <a href="mailto:info_jobs@spacebel.com"><font color="FFFFFF">info_jobs-be@spacebel.com</font></a>
www.spacebel.be/fr/General/Co_Jobs.html:164: <img src="../../IcoMouse.gif"> <a href="mailto:info_jobs@spacebel.com"><font color="FFFFFF">info_jobs-fr@spacebel.com</font></a></font>
www.spacebel.be/fr/General/Co_Info.html:73: <img src="Info_ContactAngleur.gif" width="388" height="133" border="1" usemap="#Map2Map"><map name="Map2Map"><area shape="rect" coords="0,-2,214,138" href="Co_InfoAngleur.html" alt="How to reach Spacebel Angleur?" title="How to reach Spacebel Angleur?"><area shape="rect" coords="232,116,372,132" href="mailto:info@spacebel.be" alt="e-mail" title="e-mail"></map>
www.spacebel.be/fr/General/Co_Info.html:75: <p align="center"><font size="2" face="Arial, Helvetica, sans-serif" color="#333399"><a href="#"><img src="Info_ContactHoeilaart.gif" width="388" height="133" border="1" usemap="#Map2"><map name="Map2"><area shape="rect" coords="232,116,372,132" href="mailto:info@spacebel.be" alt="e-mail" title="e-mail"><area shape="rect" coords="1,-2,215,138" href="Co_InfoHoeilaart.html" alt="How to reach Spacebel Hoeilaart?" title="How to reach Spacebel Hoeilaart?"></map></a>


Dernière édition: 02/01/2007 @ 14:30:02
Et au besoin s'arrêter.
Répondre - Catégorie:  
Informaticien.be - © 2002-2024 AkretioSPRL  - Generated via Kelare
The Akretio Network: Akretio - Freedelity - KelCommerce - Votre publicité sur informaticien.be ?