si quelqu'un peut répondre a ca...

si quelqu'un peut répondre a ca... - Linux et OS Alternatifs

Marsh Posté le 25-03-2002 à 16:27:29    

Composez un script réalisant les fonctions:
 
a) Le script recoit 2 parametres qui sont des chemins ABSOLUS vers des répertoires EXISTANTS. Il faut la liste des fichiers du premier répertoire, la met dans la liste (array) et finallement les copies dans le deuxième (boucle for) , en écrasant au besoin les fichiers du même nom qui y serait présents. Le nom des répertoires fournis se termine déja pas /
exemple :/home/serger/test/
 
b) Modifier le script pour qu'il vérifie avant de copier si c'est un fichier ou un répertoire. S'il s'agit d'un répertoire, il doit être créer dans le répertoire de destination. On présume que les répertoires sont vides.
 
c) On ne présume plus que les répertoires sont vides, alors après avoir créer un répertoire on doit appeler le script (récursivement!) pour copier le contenu du répertoire également.
 
 
si quelqu'un peut répondre à ces 3 questions, il me sauverait la vie..

Reply

Marsh Posté le 25-03-2002 à 16:27:29   

Reply

Marsh Posté le 25-03-2002 à 16:44:14    

up!

Reply

Marsh Posté le 25-03-2002 à 16:48:36    

ca sens l'intéro ça....


---------------
http://forum-darius.fr.st/
Reply

Marsh Posté le 25-03-2002 à 16:55:01    

non ca sent si je répond pas a ca d'ici midi je suis dans la merde...

Reply

Marsh Posté le 25-03-2002 à 16:56:39    

ah dsl.
j'aurais bien voulu t'aider, mais pour l'instant c pas mon truc.
bon courage


---------------
http://forum-darius.fr.st/
Reply

Marsh Posté le 25-03-2002 à 17:34:16    

1)  
Bon le premier c'est en fait juste un cp..mais on va le faire proprement, en prevision de la suite :D  
   
#!/bin/sh  
 
tool_name="/chemin/vers/mon_cp"
   
if [ "$#" != '2' ]  
then  
echo "You must give 2 arguments"  
echo "${tool_name} /path/to/rep1/ /path/to/rep2/"  
exit  
fi  
   
file_list=`ls $1`  
   
for file in ${file_list}  
do  
cp $1/${file} $2  
done
 
 
2)  
Seule la boucle for change...  
 
 
for file in ${file_list}  
do  
if [ -d "$1/${file}" ]  
then  
mkdir $2/${file}  
else  
cp $1/${file} $2  
fi  
done  
 
 
3)  
Encore une fois, seule la fin change...
 

for file in ${file_list}
do
if [ -d "$1/${file}" ]
then
mkdir $2/${file}
${tool_name} $1/${file} $2/${file}
else
cp $1/${file} $2
fi
done

 
Il faut bien sur modifier tool_name par le vrai chemin absolu du script...et le rendre executable (chmod u+x fichier)
 
Voila...sinon ca revient a faire cp -r /chemin/vers/rep1 /chemin/vers/rep2  :D

 

[jfdsdjhfuetppo]--Message édité par pipomolo--[/jfdsdjhfuetppo]


---------------
This message is provided AS IS, and comes with ABSOLUTELY NO WARRANTY,  
Reply

Marsh Posté le 25-03-2002 à 18:30:46    

:jap:  :jap:

Reply

Marsh Posté le 25-03-2002 à 18:45:30    

Tant qu'a y être
 
1) Ajouter le répertoire /home/$USER/labo4/tube1
 
2) Créer un tube_un dans /home/$USER/labo4/tube1
 
3) Trouver toutes les lignes du fichier "mon_fichier" qui contient le mot " king" et envoyer-les dans tube_un. Prenez le contenu de tube_un et envoyez-le dans une "LISTE". Envoyer ensuite chaque élément de la "LISTE" dans un fichier. Prenez le fichier et envoyez-le dans une fonction permettant de trier ces mots en ordre alphabétique. Le résultat doit être afficher à l'écran par page de 20 lignes
 
 
Voila ce que j?ai fait..mais il manque la fin :
 
#! /bin/bash
#script4
 
rm -rf /home/$USER/labo3
rm -rf /home/$USER/labo4
mkdir /home/$USER/labo4
mkdir /home/$USER/labo4/tube1
mkfifo /home/$USER/labo4/tube1/tube_un
grep "king" /home/$USER/hamlet > /home/$USER/labo4/tube1/tube_un&
liste1=`cat /home/$USER/labo4/ tube_un'
 
for $liste1
do $ liste1 >> /home/$USER/test123
sort test123
cat -20 test123

Reply

Marsh Posté le 25-03-2002 à 18:59:46    

ah oki j avais pas vu le post lol :)
 
ben cat -20 marche pas a mont gout disons je crois pas mais more -20 marche essaie donc ca
 
more -20 test123


---------------
Mes News
Reply

Marsh Posté le 26-03-2002 à 09:51:06    

Je confirme pour le more -20,
 
sinon le sort ne marchera pas comme ca...
il vaut mieux faire
 
sort test123 > /tmp/sorted_file
 
mv /tmp/sorted_file test123


---------------
This message is provided AS IS, and comes with ABSOLUTELY NO WARRANTY,  
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed