David FRANCOIS a écrit 187 commentaires

  • [^] # Re: Hmm

    Posté par  (site web personnel) . En réponse au message Encore.... Évalué à 1.

    Bon ben pour le coup je trouve vraiment pas comment insérer ca dans le script. \n ne marche pas, insérer un véritable retour chariot ne marche pas non plus, c bien la lutte donc si quelqu'un pouvait me tendre une perche ce serait sympa...
  • [^] # Re: Hmm

    Posté par  (site web personnel) . En réponse au message Encore.... Évalué à 1.

    J'arrive a remplacer les espaces par des retour chariots en mode interactif en insérant un vrai retour chariot apres le \ d'échappement, mais visiblement il ne le comprend pas de la même manière en script... Quelqu'un a une idée ? Je vous mets la tronche de mon script.
    #!/bin/bash
    #wordfreq : displays word frequencies in a given file and can give the frequency of one particular word as well
    #usage : wordfreq filename [word]
    
    #variable init
    fileNotFoundError=1
    syntaxError=1
    fileToParse=
    filter=
    #as usual we check the options given
    if [ $# = 0 ]
        then
        syntaxError=0
    fi
    #we know we have the right number of arguments, let's check whether the file exists or not
    if [ ! -e $1 ]
        then
        fileNotFoundError=0
        else
        fileToParse=$1
        if [ $# = 2 ]
    	then
    	filter=" grep "${2}
        fi
    fi
    #let's handle the errors
    if [ $syntaxError = 0 ]
        then
        echo Syntax error.
        echo usage : wordfreq filename [word]
        exit 1
        else
        if [ $fileNotFoundError = 0 ]
    	then
    	echo Error, the specified file was not found.
    	exit 1
        fi
    fi
    #we build the command
    command="cat "${fileToParse}" | sed 's/ /\
    /g' | uniq -c"${filter}" | awk '{print \$2, \$1}'"
    echo $command
    
  • [^] # Re: Hmm

    Posté par  (site web personnel) . En réponse au message Encore.... Évalué à 1.

    hmm j'ai trouvé mais je trouve ca quand même étrange que sed ne comprenne pas le \n...
  • [^] # Re: Hmm

    Posté par  (site web personnel) . En réponse au message Encore.... Évalué à 1.

    J'essaie de chercher par moi-même, t'en fais pas pour moi, mais y a des fois ou ben il faut demander un coup de main.
    Mes cours unix sont soporifiques, donnés dans un anglais affreux par un prof sympa mais vraiment très chiant.
    J'aime beaucoup quand on me donne une piste plutôt que de me laisser complètement dans le vent ou alors quand on me donne une commande obscure en me disant tais toi et tape...
    Pour l'instant j'ai du mal a remplacer les espaces par des retours chariots.
    Il me manque juste la manière de dire 'retour chariot' en sed
    J'ai essayé des trucs du style
    sed 's/ /\n/g' mais ca ne marche pas et je ne trouve pas d'exemple qui convienne....mhh
  • [^] # Re: Hmm

    Posté par  (site web personnel) . En réponse au message Encore.... Évalué à 1.

    hé dis donc, j'adore linux mais c'est le troisième script de ma laïfe....
    J'ai juste pas encore trop l'esprit tourné comme il faut :)
    Mais ouais il vaut mieux une piste qu'on explore qu'une commande obscure qu'on pige pas.
  • [^] # Re: Hmm

    Posté par  (site web personnel) . En réponse au message Encore.... Évalué à 2.

    Yep.
    Donc si j'imagine bien ce sera du sed pour remplacer espaces et tout ca. D'après man, uniq me donnera une occurence unique pour chaque mot, ligne par ligne. Donc d'après moi, je reprends mot par mot et je scanne et je scanne en comptant les occurrences.
    Oh my god, non uniq le fait déja comme un grand !
    Donc du coup si je veux un seul mot je sors le grep et sinon je le laisse tourner...
    J'ai bon ? J'ai bon ? :)
    Ca a l'air ultra facile dit comme ca !
    Bon je vais trifouiller un peu et je me ramène avec mes questions !
  • [^] # Re: Mon script, tadaaa

    Posté par  (site web personnel) . En réponse au message Comment faire ?. Évalué à 1.

    Oui, les commentaires sont en anglais, ce n'est pas du vulgaire plagiat, mais c'est juste que ma fac est à Melbourne (tiens, moi aussi d'ailleurs).
    Encore merci pour votre aide.
    Les commentaires sont les bienvenus :)
  • # Mon script, tadaaa

    Posté par  (site web personnel) . En réponse au message Comment faire ?. Évalué à 1.

    #!/bin/bash
    #sizescan : this scripts scans the current directory/directory tree in order to give the smallest and
    #largest file.
    #usage : sizescan [-r] [directory]
    #if no directory is given the script will scan the current one. If the -r option is given the script will scan
    #directories recursively
    
    #variables initializations
    directoryDoesNotExist=1
    recursive=1 			#starts with false
    syntaxError=1
    
    
    #check the options for incorrect combinations
    #if we have two arguments the first one should be -r and the second one should be a valid directory
    if [ $# = 2 ]
        then
        #is the first arg -r ?
        if [ $1 = "-r" ]
    	then
    	recursive=0
    	else
    	syntaxError=0
        fi
        #is the second argument a valid path ?
        if [ -d $2 ]
    	then
    	toScan=$2
    	else
    	directoryDoesNotExist=0
        fi
    fi
    #if we face a single argument it should be -r or a valid path
    if [ $# = 1 ]
        then
        if [ -d $1 ]
        	then
    	toScan=$1
    	else
    	if [ $1 = "-r" ]
    	    then
    	    recursive=0
    	    toScan=`pwd`
    	    else
    	    directoryDoesNotExist=0
    	fi
        fi
    fi
    
    #otherwise we just set the scanned directory to current one
    if [ $# = 0 ]
        then
        toScan=`pwd`
    fi
    
    #if we have a syntax error we print the appropriate message
    if [ $syntaxError = 0 ]
        then
        echo Usage sizescan [-r] [directory]
        echo -- -r option scans directories recursively
        exit 1
    fi
    
    #if the provided directory doesn t exist we print the appropriate errror message
    if [ $directoryDoesNotExist = 0 ]
        then
        echo Provided directory doesn\'t exist!
        exit 1
    fi
    
    
    #Okay, at this stage our options are correct, we know what we want to do and we are sure the directory actually exists
    
    #if we don t want a recursive search we set the parameter maxdepth to 1 in order not to scan subdirs
    if [ $recursive = 0 ]
        then
        recursive=
        else
        recursive="-maxdepth 1"
    fi
    
    #finally we build the commands that will give us the results and execute them
    command_min="ls -la \`find "${toScan}" -type f "${recursive}"\` | awk '{print \$5,\$9}' | sort -n  | head -n 1 | awk '{print \"Smallest - Size: \", \$1, \" File:\", \$2}'"
    command_max="ls -la \`find "${toScan}" -type f "${recursive}"\` | awk '{print \$5,\$9}' | sort -nr | head -n 1 | awk '{print \"Largest  - Size: \", \$1, \" File:\", \$2}'"
    eval $command_min 
    eval $command_max
    
  • [^] # Re: ls ... entre autre :)

    Posté par  (site web personnel) . En réponse au message Comment faire ?. Évalué à 1.

    J'ai vraiment du mal à comprendre comment se fait le classement sur taille parce que quand je copie colle la premiere partie de ta commande, celle avec le ls, a aucun moment la taille n'apparaît...
  • [^] # Re: ls ... entre autre :)

    Posté par  (site web personnel) . En réponse au message Comment faire ?. Évalué à 1.

    Yeah je commence à comprendre tes commandes...
    Si je comprends bien tu scannes tous les fichiers du répertoire courant tu les tries avec sed et tu prends au choix la première ou la dernière ligne du résultat. (je comprends pas trop la syntaxe du sed, je vais fouiller le man un coup...)

    Donc si je comprends toujours bien le -F dans le ls permet d'enlever les répertoires et d'examiner seulement le contenu du répertoire courant...

    Donc si j'enlève le -F du ls mais pas du sed il devrait me faire le même boulot mais de manière récursive ?

    Réponds oui et mon script est quasiment terminé x)
  • [^] # Re: ls ... entre autre :)

    Posté par  (site web personnel) . En réponse au message Comment faire ?. Évalué à 1.

    omg, je devrais ouvrir les yeux, l'option -S devrait faire l'affaire...
    En tout cas merci pour votre aide !
  • [^] # Re: ls ... entre autre :)

    Posté par  (site web personnel) . En réponse au message Comment faire ?. Évalué à 1.

    Oh my god.
    Je n'en attendais pas autant !
    Dire que je pensais que linuxfr se vidait...
    Je pense que dans le cadre de mon script le du suffira, parce qu'il me donne exactement ce qu'il me faut sauf que je regarde dans les pages man et info et je trouve aucun moyen de virer optionnellement les répertoires.
    Si je comprends bien avec l'option depth à zéro il me renverra quand même les répertoires mais avec leur taille totale ce qui m'embête pas mal...
    Bon en attendant de voir si quelqu'un a une idée je vais fouiller les idées que vous venez de me donner.
    Merci mille fois! :)
  • [^] # Re: Use the force

    Posté par  (site web personnel) . En réponse au message Comment faire ?. Évalué à 2.

    merci ami !
    je vais creuser dans cette direction ! :)
  • [^] # Re: distrib ?

    Posté par  (site web personnel) . En réponse au message Problème domxml. Évalué à 0.

    Je m'attendais à ce genre de réponse...
    Mais j'aurais préféré une indication concernant le changement de version PHP (de 4.0.... vers 4.3.... qui semble être la cause de ces problèmes, en effet, je n'ai pas touché une ligne de code du script qui fonctionnait parfaitement auparavant...).
    Bon, je vais chercher de mon côté, si c'est toujours autant la loose je vous re-demanderai...
    Merci à tous!
  • [^] # Re: distrib ?

    Posté par  (site web personnel) . En réponse au message Problème domxml. Évalué à -1.

    MDK 10.1
    PHP 4.3.4.

    Je viens d'installer php-domxml qui a corrigé mon erreur mais qui m'en fait une autre...
    Fatal error: Call to a member function on a non-object in /var/www/html/paperblog/fetchfrompmid.php on line 218
  • [^] # Re: Petit rappel au passage

    Posté par  (site web personnel) . En réponse au message SWFMovie ?. Évalué à 0.

    Non, t'es sérieux ?
  • # et puis...

    Posté par  (site web personnel) . En réponse au message Fichiers logs volumineux. Évalué à 2.

    les logs, c'est comme les rustines ca sert à rien sauf le jour ou on en a besoin :)
  • # CMS?

    Posté par  (site web personnel) . En réponse au message Cherche 1 logiciel. Évalué à 1.

    T'as essayé de te rencarder du côté des logiciels de CMS (Content Management System) dans le genre Plone.
    Même s'il ne répondent pas directement à tes besoins, il doit être assez aisé de les paramétrer pour gérer des objets de type site...
    Le seul que je connaisse un peu est Plone, il me semble très flexible pour ce que j'en ai vu, tu peux le tester facilement et gratuitement sur www.objectis.net
  • # Quel outil utilises-tu

    Posté par  (site web personnel) . En réponse au message Les dépendances logicielles. Évalué à 0.

    Normalement les dépendances sont gérées par le système.
    Tu as un utilitaire qui permet d'installer/supprimer des paquets,
    tu as également un outil de la couche au dessus qui installe les paquets nécessaires suivant ce que tu demandes...
    Exemple avec Debian, l'utilitaire est apt-get :

    ~#apt-get install paquet paquet_bidon
    Pour installer paquet_bidon il vous faut également les paquets X, Y et Z
    Installer ? (O/n)o

    et hophophop il télécharge et installe tout ton bordel !

    Après tu peux probablement interroger apt avec des options qui vont bien pour connaître les dépendances qui t'intéressent sans forcément installer. Tiens ca me revient tu peux faire une 'simulation', il fait tout sauf installer réellement les paquets, tu peux donc voir les dépendances...
  • [^] # Re: Pourquoi installer mdk?

    Posté par  (site web personnel) . En réponse au message [futur débutant Linux] Interrogations. Évalué à 1.

    Pour être plutôt clair, je ne pense pas qu'on puisse découvrir correctement Linux avec un liveCD ou alors ca me semble un peu difficile.

    Pour tes questions :

    - fdisk /mbr marche, mais attention, si tu as besoin de taper cette commande c'est, à priori, que ton bootsector est mort ou qu'il ne te permet plus d'accéder à windows en tout cas. Donc pense simplement à un moyen d'accéder à MS-Dos avec une disquette (ah oups pas de lecteur) ou alors avec un CD...

    - Concernant le plantage des deux premières live distrib pas d'idées

    - Concernant ta question "Quelle est la ligne de commande à taper pour lancer MDK" :
    Ta question n'a pas vraiment de sens, on ne lance pas une Mandrake. Si tu veux l'installer tu boote sur le CD. Tu veux peut-être installer une Mandrake et puis la lancer d'un autre OS ? Je pense que ca doit être possible mais c assez peu courant quand-même.
    Peut-être t'es-tu mal exprimé, tu peux peut-être reformuler ta question (celle concernant MDK) ?
  • [^] # Re: brut de pomme !

    Posté par  (site web personnel) . En réponse au message Enlever les CR/LF. Évalué à 0.

    cimer albert ca marche du tonnerre
    {applause, applause}
  • [^] # Re: update avec plusieurs tables

    Posté par  (site web personnel) . En réponse au message Requête MySQL. Évalué à 0.

    C'est marvélousse merci beaucoup !
  • [^] # Les tables et FTP

    Posté par  (site web personnel) . En réponse au message transfert de tables en pour un site. Évalué à 1.

    Si tu es hébergé tu ne pourras pas avoir accès aux tables directement par FTP et dans ce cas la tu es obligé de passer par phpMyAdmin (ou alors le client en mode texte mais vu ton expérience tu risques de pas trop rigoler...).
    En fait dans l'exportation, phpMyAdmin exporte une grosse requête SQL qui contient la structure de tes tables ainsi que pour leur contenu.
    Une fois que tu as cette requête, tu la copie-colle dans le champ SQL de phpMyAdmin (l'endroit ou tu peux taper toi-même te requêtes) et tu exécutes la requête qui fait son petit bazar et te re-crée les tables et les remplit.

    Toutefois, cette solution est peu adaptée pour bases avec des tables ventrues.
    Dans ce cas la tu peux récupérer les tables par FTP. Ca nécessite que tu aies le droit de lire /var/lib/mysql/{le_répertoire_de_ta_base}.
    Autrement dit, il faut que tu sois sur ton propre serveur et pas chez Free ou autre.
    Dans ce cas, tu stoppes ton démon mysql (le serveur MySQL quoi) avec une commande qui doit dépendre de ta distrib.
    Ensuite tu télécharges le répertoire qui porte le nom de ta base et tu fais la même chose dans l'autre sens pour restaurer tout ca. Serveur MySQL stoppé bien sur.
    Ca marche pour une base complète, pour une table seule je ne sais pas et je te déconseille d'essayer (ou alors si et dis-nous ce que ca a donné).
    Cette solution ne me semble pas très élégante mais elle a le mérite d'avoir toujours marché chez moi.

    Bon, c'est pas tout ca mais j'ai du lait sur le feu qui sonne à la porte.
    Bon courage
  • # oui, mais...

    Posté par  (site web personnel) . En réponse au message Question UML. Évalué à 0.

    Oui, entièrement d'accord avec vous, mais il est relativement courant de faire un MCD en utilisant un diagramme de classes UML puisque le formalisme est à peu près le même,
    en tout cas on le fait dans mon école x), en fait je me souvenais plus trop si le concept d'agrégation existait dans un MCD, mais finalement je n'en ai pas eu besoin.
    Merci à tous !
  • # les exporter

    Posté par  (site web personnel) . En réponse au message transfert de tables en pour un site. Évalué à 1.

    Tu ne peux pas les avoir sous filezilla, enfin si mais c moyen propre...
    elles sont dans /var/lib/mysql/TA_BASE/

    Toutefois si j'étais toi j'utiliserais la fonction exporter de phpMyAdmin, tu exportes données et structure dans les opérations et tu peux remettre ta base n'importe ou après !