Unix script
Répondre à la discussion
Affichage des résultats 1 à 2 sur 2

Unix script



  1. #1
    invite78f958b1

    Unix script


    ------

    Bonjour,
    un ami m'a demandé de l'aide sur un exercice et je bloque donc je fais appel à vous. Je n'ai pas accès à une console Unix.

    Voici l'énoncé:
    Avec la méthode case, écrire une procédure qui permet de changer le suffixe de l'extension. Je dois afficher afficher 3 paramètres (ancien suffixe, le nouveau et le nom du fichier créer).

    Voici ce que nous avons fait:
    Code PHP:
    #! \bin\bash
    case $1 in
    *.txtextension=".new_txt";;
    *.
    aviextension=".new_avi";;
    *.
    dotextension=".new_avi";;
    *) echo 
    "Ceci n'est pas reconnu"
    esac

    echo "ancien fichier" $1
    echo "nouveau fichier " $1-.txt+$extension 
    Qu'en pensez vous ?
    Pouvez vous tester pour qu'il fonctionne.


    Une petite question, quelles sont les modalités de multi session, multi utilisateur sous MAC OS X (Unix) ?
    En fait, nous ne voyons pas trop l'intéret à part que chaque utiliseur peut se connecter sur une même session.


    merci d'avance

    -----

  2. #2
    invite2eb24907

    Re : Unix script

    Voila un script qui marche (si c'est toujours d'actualite ^^) :
    Code:
    #!/bin/bash
    
    base=`echo "$1" | sed -e 's/\(.*\)\.\([^.]*\)/\1/'`
    ext=`echo "$1" | sed -e 's/\(.*\)\.\([^.]*\)/\2/'`
    
    echo base: "$base"
    echo extension: "$ext"
    echo nom de fichier: "$base.$2"
    le programme sed permet de matcher et substituer un regexp (une expression qui decrit la structure d'une expression, voir Wikipedia pour plus d'infos)
    Le regexp que j'ai utilise permet de matcher :
    - Ce qui est avant le dernier point: \(.*\) et de le capturer dans la variable \1 (grace au motif capturant: \( et \) qui enveloppe l'expression)
    - Le dernier point: \.
    - Ce qui suit le point: \([^.]*\) qui est aussi capture dans la variable \2.

    Résultat:
    Code:
    $ ./rename.sh un.nom.de.fichier.txt doc
    base: un.nom.de.fichier
    extension: txt
    nom de fichier: un.nom.de.fichier.doc
    Eric Saint-Etienne

Discussions similaires

  1. Programmation script shell ksh unix
    Par invite3ac0dbd7 dans le forum Logiciel - Software - Open Source
    Réponses: 3
    Dernier message: 10/10/2009, 16h10
  2. script pour changer l'extension d'un ensemble de fichiers (unix)
    Par invite96a71565 dans le forum Logiciel - Software - Open Source
    Réponses: 1
    Dernier message: 30/09/2008, 16h48
  3. Unix: script affichant le nom de chaque fichier du répertoire dans lequel il est
    Par invite65d9a3d4 dans le forum Logiciel - Software - Open Source
    Réponses: 1
    Dernier message: 29/09/2008, 18h28
  4. un programme sous unix ( script shell )
    Par invite54d71191 dans le forum Internet - Réseau - Sécurité générale
    Réponses: 2
    Dernier message: 09/08/2008, 12h39
  5. unix
    Par invited9d78a37 dans le forum Logiciel - Software - Open Source
    Réponses: 33
    Dernier message: 09/02/2007, 10h20