Précédent   Forum des professionnels en informatique > Systèmes > Linux > Applications > Shell
Shell Vos questions sur l'utilisation des commandes shell
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 12/12/2011, 15h41   #1
Futur Membre du Club
 
Inscription : février 2008
Messages : 12
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 12
Points : 19
Points : 19
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 :
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 :
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 :
/data/se-MQSI/se-xf-in/EGTFCLIC.BEMVS001*@/data/se-MQSI/se-FROM-EGTF/
Code :
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"
alexmirage est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 12/12/2011, 15h56   #2
Expert Confirmé Sénior
 
Avatar de frp31
 
Homme francois
Ingénieur systèmes et réseaux
Inscription : juillet 2006
Messages : 3 538
Détails du profil
Informations personnelles :
Nom : Homme francois
Âge : 35
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 : 3 538
Points : 7 754
Points : 7 754
Code :
1
2
fichier=/home/foo/bar
mv $fichier $(echo $fichier | sed 's/.*\///')
exemple

sed substitute tout (.*) jusqu'au / (\/) par rien
frp31 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 12/12/2011, 16h00   #3
Expert Confirmé Sénior
 
Avatar de N_BaH
 
Inscription : février 2008
Messages : 2 072
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 2 072
Points : 4 155
Points : 4 155
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_BaH est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 12/12/2011, 17h02   #4
Futur Membre du Club
 
Inscription : février 2008
Messages : 12
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 12
Points : 19
Points : 19
Merci je googlelise tout ça
alexmirage est déconnecté   Envoyer un message privé Réponse avec citation 10
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h38.


 
 
 
 
Partenaires

Hébergement Web