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 :

Problème de sed


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Février 2008
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2008
    Messages : 32
    Par défaut Problème de sed
    Bonjour,

    Voilà aujourd'hui, je cherche a faire un move de fichiers.
    Vous allez me dire script basic, je sais ! Mais la ou le problème est , c'est que j'aimerais également renommé le fichier de destination avec le pid

    => $$.$FICHSOURCE = PID.FICHSOURCE

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    LOCATION= /data/se-MQSI/se-xf-in/EGTFCLIC.BEMVS001*
    la ou j'aimerais qu on m'éclaire c'est au niveau du sed pour

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FICHSOURCE= <s>/data/se-MQSI/se-xf-in/</s>EGTFCLIC.BEMVS001*
    Est ce que cela est possible ?

    ou faut-il utiliser une autre commande que sed ?

    Merci d'avance pour votre précieuse aide

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    /data/se-MQSI/se-xf-in/EGTFCLIC.BEMVS001*@/data/se-MQSI/se-FROM-EGTF/
    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    #!/bin/ksh
    #This script serves to move files
    set -x
     
    if [ "$1" = "" ]
    then
    echo "\033[41m "Parameter missing, please add the file with the destination and target list!"\033[m"
    print "\n"
    exit
    fi
     
    print "\n"
    print "THE CONTENT OF THE LIST IS: \n\n$1"
    print "\n"
    #Prints the list content
     
    param=`cat $1`
    for file in $param
                    do
                    LOCATION=`echo $file | sed s/TO.*//g`
                    FICHORI=`echo $LOCATION | 
                    echo "$FICHORI"
                    #picks everything before the TO
                    DESTINATION=`echo $file | sed s/.*TO//g`
                    FICHDEST=$$.$FICHORI
                    echo "$FICHDEST"
                    #picks everything after the TO
     
                    echo $LOCATION
                    echo will be moved to:
                    echo $DESTINATION
     
                    echo " \033[1m "You are moving files from "$LOCATION" to "$DESTINATION"" \033[m"
     
     
     
                           # mv $LOCATION $DESTINATION
                            #does the transfer from $LOCATION to the $DESTINATION
                            print "\n"
              done
     
    echo Script ended on `date`.
    print "\n"

  2. #2
    Expert confirmé Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5 196
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    fichier=/home/foo/bar
    mv $fichier $(echo $fichier | sed 's/.*\///')
    exemple

    sed substitute tout (.*) jusqu'au / (\/) par rien

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

    Informations forums :
    Inscription : Février 2008
    Messages : 7 662
    Par défaut
    Bonjour,

    sed n'est pas nécessairement utile ici; le développement des paramètres (Parameter Expansion) devrait permettre d'effectuer ce type d'opération.
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Février 2008
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2008
    Messages : 32
    Par défaut
    Merci je googlelise tout ça

Discussions similaires

  1. Problème avec SED et les caractères "/" sur Solaris
    Par supermen3000 dans le forum Solaris
    Réponses: 2
    Dernier message: 03/07/2009, 11h14
  2. Problème de sed et expression régulière
    Par Empty_body dans le forum Linux
    Réponses: 11
    Dernier message: 12/03/2009, 09h15
  3. [Shell] Problème de sed
    Par byloute dans le forum Linux
    Réponses: 3
    Dernier message: 05/02/2008, 15h25
  4. [Shell] problème avec sed et awk
    Par tizilfin dans le forum Shell et commandes GNU
    Réponses: 5
    Dernier message: 15/11/2007, 13h01
  5. Problème avec sed
    Par Zlika_ese dans le forum Linux
    Réponses: 1
    Dernier message: 26/05/2007, 21h39

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