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

Linux Discussion :

utilisation commande cut


Sujet :

Linux

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    décembre 2009
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : décembre 2009
    Messages : 33
    Points : 26
    Points
    26
    Par défaut utilisation commande cut
    Bonjour tous.

    j'aimerai avoir une petite précision sur la commande cut
    j'ai une variable $fichier qui contient "cesi.doc"
    j'aimerai avec l'option -d -f la découper la ou il y a le . et sauvegarder juste le cesi.
    c'est à dire $fichier="cesi"

    Et pour les plus ardu ^^
    j'aimerai savoir comment rajouter un chiffre apres cesi "cesi1.doc"

    Merci à vous

  2. #2
    Modérateur
    Avatar de paissad
    Homme Profil pro
    Ingénieur de développement (Java/JEE/Eclipse RCP,EMF & webMethods)
    Inscrit en
    avril 2006
    Messages
    1 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur de développement (Java/JEE/Eclipse RCP,EMF & webMethods)
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : avril 2006
    Messages : 1 043
    Points : 2 560
    Points
    2 560
    Par défaut
    Bonjour,
    tu choisis le caractère '.' comme délimiteur pour l'option -d
    tu veux recupérer le 1èr champ que tu dois affecter à l'option -f
    donc, pour recupérer 'cesi' , tu fais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo $fichier | cut -d '.' -f 1
    si tu veux changer cesi.doc en cesi1.doc, mv ne te suffit pas ? ou c'est parce que tu as un truc plus compliqué ?
    Nous n'héritons pas de la terre de nos parents, nous l'empruntons à nos enfants.
    Le chat du site est aussi ici pour aider. Ne pas hésiter à visiter !

  3. #3
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    février 2008
    Messages
    7 387
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : février 2008
    Messages : 7 387
    Points : 19 007
    Points
    19 007
    Par défaut
    Bonjour Jackernel,

    Pas besoin de cut pour ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    fichier="cesi.doc"
    nom=${fichier%%.*}
    ext=${fichier##*.}
    fichier1=${nom}1.$ext
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  4. #4
    Modérateur
    Avatar de paissad
    Homme Profil pro
    Ingénieur de développement (Java/JEE/Eclipse RCP,EMF & webMethods)
    Inscrit en
    avril 2006
    Messages
    1 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur de développement (Java/JEE/Eclipse RCP,EMF & webMethods)
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : avril 2006
    Messages : 1 043
    Points : 2 560
    Points
    2 560
    Par défaut
    y'a aussi ça en sed si tu veux
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo $fichier | sed 's/\([^.]\)\(\..*\)/\11\2/'
    c'est barbare , je sais
    Cordialement
    Nous n'héritons pas de la terre de nos parents, nous l'empruntons à nos enfants.
    Le chat du site est aussi ici pour aider. Ne pas hésiter à visiter !

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    décembre 2009
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : décembre 2009
    Messages : 33
    Points : 26
    Points
    26
    Par défaut
    merci bcp pour vos réponse !!!
    mais j'apprends linux depuis 2 semaines dans mon école informatique et j'ai appris énormément de chose mais là j'avoue qu'en regardant vos réponses vous m'avez laissez sur le cul si je puis dire ^^ je n'y croyais pas en rentrant vos ligne de commande mais ça marche impeccable !!
    N_BaH est ce que tu pourrais m'expliquer ces deux lignes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    nom=${fichier%%.*}
    ext=${fichier##*.}
    paissad est ce que tu pourrais m'expliquer cette ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sed 's/\([^.]\)\(\..*\)/\11\2/'
    et une derniere question comment je peux récupere $fichier | cut -d '.' -f 1 dans une variable ?

    En tout cas Vraiment merci pour vos conseils
    je recommanderai ce forum à mes colègues !!

  6. #6
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    février 2008
    Messages
    7 387
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : février 2008
    Messages : 7 387
    Points : 19 007
    Points
    19 007
    Par défaut
    Il y en a plein d'autres ici
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  7. #7
    Modérateur
    Avatar de paissad
    Homme Profil pro
    Ingénieur de développement (Java/JEE/Eclipse RCP,EMF & webMethods)
    Inscrit en
    avril 2006
    Messages
    1 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur de développement (Java/JEE/Eclipse RCP,EMF & webMethods)
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : avril 2006
    Messages : 1 043
    Points : 2 560
    Points
    2 560
    Par défaut
    Bon sed est un éditeur de stream ancien utilisé pour effectuer des opérations sur des chaines de caractères, comme la substitution ( utilisation la plus courante)
    C'est impossible de décrire tout ce que peut faire sed ici, ou bien meme toutes les options possibles
    ce que je peux faire c'est t'expliquer cette expression que j'ai postée, mais il faudra apprendre les expressions régulières !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sed 's/\([^.]\)\(\..*\)/\11\2/'
    l'option 's' de sed permet d'effectuer des operations de subsitutions
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    \([^.]\)
    correspond à toute chaine de caractères ne contenant pas de point '.'
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    \(\..*\) 
    correspond à touche chaine de caractères qui commence par un point
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    \1 correspond au 1èr groupe de paranthèses et \2 au 2nd groupe de paranthèses
    ce qui fait que ton regex est Je trouve que mon explication est assez simpliste mais il faut vraiment apprendre sed à part pour en comprendre un peu plus ...
    Cordialement,
    Nous n'héritons pas de la terre de nos parents, nous l'empruntons à nos enfants.
    Le chat du site est aussi ici pour aider. Ne pas hésiter à visiter !

  8. #8
    Expert confirmé
    Avatar de becket
    Profil pro
    Informaticien multitâches
    Inscrit en
    février 2005
    Messages
    2 802
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien multitâches
    Secteur : Service public

    Informations forums :
    Inscription : février 2005
    Messages : 2 802
    Points : 5 677
    Points
    5 677
    Par défaut
    Citation Envoyé par N_BaH Voir le message
    Bonjour Jackernel,

    Pas besoin de cut pour ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    fichier="cesi.doc"
    nom=${fichier%%.*}
    ext=${fichier##*.}
    fichier1=${nom}1.$ext

    J'aurais plutôt dit : nom=${fichier%.*} pour prendre en compte le cas du fichier qui contient plusieurs points

Discussions similaires

  1. PB utilisation commande ftp
    Par stan314 dans le forum Réseau/Web
    Réponses: 2
    Dernier message: 09/07/2007, 09h53
  2. utiliser commande grep
    Par salim81 dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 01/07/2007, 21h52
  3. Utilisation Commande BCP
    Par nicolas23 dans le forum Outils
    Réponses: 1
    Dernier message: 23/05/2007, 09h23
  4. Problème utilisation commandes préprocesseur
    Par bit_o dans le forum GTK+ avec C & C++
    Réponses: 6
    Dernier message: 12/03/2007, 23h24
  5. utilisation commande Dir
    Par p'tite Sandrine dans le forum Access
    Réponses: 4
    Dernier message: 21/02/2007, 13h20

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