IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes GNU Discussion :

test extension d'un fichier en korn shell


Sujet :

Shell et commandes GNU

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 5
    Points : 5
    Points
    5
    Par défaut test extension d'un fichier en korn shell
    Bonjour, je débute en shell et j'ai crée un script qui copie tous les fichiers d'un répertoire portant l'extension .txt

    Pb, avant de les copier j'aimerais testé la présence de fichier .txt dans mon répertoire, j'ai essayer avec cette expression :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if ! ls | grep "*${exten_fich}"
    Mais ca semble ne pas être bon, quelqu'un aurai peut être une idée,

    merci d'avance

  2. #2
    Expert éminent

    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Juillet 2004
    Messages
    2 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 756
    Points : 6 686
    Points
    6 686
    Par défaut
    Bonjour

    Pourrais-tu afficher ton code en entier ?

    ++

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    voila ma fonction de recopie :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    function_recopy(){
     
    nom_rep_copy=$1
    exten_fich=$2
    nom_rep_sort=$3
     
    cd ${nom_rep_copy}		
    if ! ls | grep "*${exten_fich}"
    then
    	echo "\Pas de fichier portant l'extension ${exten_fich}"
    else
    cp *${exten_fich} ${nom_rep_sort}
    cd -
    fi
    }

  4. #4
    Membre du Club
    Inscrit en
    Novembre 2006
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 80
    Points : 67
    Points
    67
    Par défaut
    Tu peux utiliser :
    elle va te retourner le nombre de fichier txt, sur lequelle tu pourras faire des if...

  5. #5
    Expert éminent

    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Juillet 2004
    Messages
    2 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 756
    Points : 6 686
    Points
    6 686
    Par défaut
    Bonjour

    Je te propose ce script :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    ## BEGIN
     
    # variables
    rep=$1
    ext=$2
     
    # vérifie l'extension
    checkext() {
    if [ -f `ls $rep | grep "$ext"` ]; then
    echo "Fichiers avec l'extension $ext introuvables"
    else if [ "$ext" = '' ]; then
    echo "Aucune extension a été spécifié"
    else
    echo "Des fichiers avec l'extension $ext sont présents"
    fi
    fi
    } 
     
    # test le répertoire
    if [ ! -d $rep ]; then
    echo "Le répertoire $rep n'existe pas"
    else if [ `find $rep -depth -empty -type d` ]; then
    echo "Le répertoire $rep est vide
    else
    checkext
    fi
    fi
    On peut faire mieux mais ça fonctionne
    Comment se fait-il que l'indentation heu ? pas bien

  6. #6
    Membre chevronné

    Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 296
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 296
    Points : 1 803
    Points
    1 803
    Par défaut
    heuu vous etes un peut compliquer tout de même :
    et un tout simple
    c'est pas plus lisible ?

  7. #7
    Expert éminent

    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Juillet 2004
    Messages
    2 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 756
    Points : 6 686
    Points
    6 686
    Par défaut
    Citation Envoyé par MarcG
    heuu vous etes un peut compliquer tout de même :
    C'était juste pour te faire rougir un peu

  8. #8
    Membre du Club
    Inscrit en
    Novembre 2006
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 80
    Points : 67
    Points
    67
    Par défaut
    voici un petit script
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    source=/home/user/ton_dossier_source
    destination=/home/user/ton_dossier_destination
    [ `ls $source | grep .txt | wc -l` != 0 ] &&  cp $location/*.txt $destination

  9. #9
    Membre chevronné

    Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 296
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 296
    Points : 1 803
    Points
    1 803
    Par défaut
    A oui pourquoi faire simple quand on peut faire compliquer ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    source=/home/user/ton_dossier_source
    destination=/home/user/ton_dossier_destination
    ls $source/*.txt >/dev/null && cp $source/*.txt $destination

  10. #10
    Membre éclairé
    Avatar de panda31
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juin 2003
    Messages
    670
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2003
    Messages : 670
    Points : 848
    Points
    848
    Par défaut
    FAites gaffe ou je vous sors un listing de trois pages pour afficher hello world en plus de ranger les fichiers txt

  11. #11
    Membre actif
    Femme Profil pro
    Inscrit en
    Août 2006
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Août 2006
    Messages : 109
    Points : 269
    Points
    269
    Par défaut Pour rire....
    que diriez-vous de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    if [-f *.txt ]
    then
    cp *.txt nomfic 
    fi

  12. #12
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 099
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 099
    Points : 28 404
    Points
    28 404
    Par défaut
    Citation Envoyé par Billette
    que diriez-vous de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    if [-f *.txt ]
    then
    cp *.txt nomfic 
    fi
    Que ça ne fonctionnera pas...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if [ -f *.txt ]...

Discussions similaires

  1. Korn shell: remplir un tableau à partir de fichier texte
    Par julie26000 dans le forum Langages de programmation
    Réponses: 2
    Dernier message: 18/01/2014, 13h24
  2. création script korn shell de recopie de fichiers
    Par jeje4 dans le forum Shell et commandes GNU
    Réponses: 3
    Dernier message: 29/03/2007, 07h38
  3. Lire un fichier en korn shell
    Par declencher dans le forum Linux
    Réponses: 5
    Dernier message: 23/03/2005, 15h30
  4. tester l'extension d'un fichier avant d'uploader
    Par PrinceMaster77 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 25/02/2005, 15h12
  5. [C++ .NET] Test existence d'un fichier
    Par remixxl dans le forum VC++ .NET
    Réponses: 3
    Dernier message: 26/07/2004, 19h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo