Renommage partiel dun nom de dossier ss linux

Résolu/Fermé
celyne - 6 févr. 2009 à 17:51
 celyne - 6 févr. 2009 à 20:52
Bonjour,

je recupere le nom d'un repertoir via la commande "mkdir $dfile" et je voudrai aue le nom de ce repertoire devienne un sous repertoire en changeant partiellement le nom.

par exemple, je suis dans le repertoire new_dossier et je veux creer un sous repertoire test_dossier sachant que dossier est un nom variable qui depend du repertoire dans lequel je me trouve et que test est fixe

merci d'avance pour votre aide !!!! :)

4 réponses

lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
6 févr. 2009 à 17:56
Salut,

Utilise l'option -p de la commande mkdir
lami20j@debian:~/trash$ rep=dossier
lami20j@debian:~/trash$ mkdir -p /home/lami20j/trash/new_$rep/test_$rep
lami20j@debian:~/trash$ ls -Rl new_dossier/
new_dossier/:
total 4
drwxr-xr-x 2 lami20j lami20j 4096 fév  6 17:54 test_dossier

new_dossier/test_dossier:
total 0
0
Salut,

merci pour ta reponse cependant ca ne fonctionne pas a 100%. en fait pour recuperer le nom du dossier pere j'utilise $dfile (car je dois faire cette operation pour 300dossiers et chaque dossier a un nom different)
Qvec l'instruction $dfile, je recupere le nom sous la forme : ./new_dossier

et avec ton instruction de mkdir, il me cree un sous dossier qui s'appelle test_. il faudrait donc que je puisse recuperer le nom du dossier sans le ./ sais tu comment faire ??

merci d'avance et merci pour ta reponse !!
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 895
6 févr. 2009 à 20:07
Salut,
[tmpfs]$ var="./test"
[tmpfs]$ echo ${var#*\.\/}
test
[tmpfs]$ basename $var
test
[tmpfs]$
;-))
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
6 févr. 2009 à 20:09
Re,
lami20j@debian:~$ rep="./new_dossier"
lami20j@debian:~$ mkdir -vp /home/lami20j/${rep##*/}/test_${rep##*/}
mkdir: création du répertoire `/home/lami20j/new_dossier'
mkdir: création du répertoire `/home/lami20j/new_dossier/test_new_dossier'
lami20j@debian:~$ ls -lR /home/lami20j/new_dossier/
/home/lami20j/new_dossier/:
total 4
drwxr-xr-x 2 lami20j lami20j 4096 fév  6 20:07 test_new_dossier

/home/lami20j/new_dossier/test_new_dossier:
total 0

0
ok, merci lamij20 ca fonctionne parfaitement par contre, sais tu comment je pourrai enlever le new maintenant ? :)

parce la du coup jai un dossier test_new_dossier et je voudrai un test_dossier.

en tout cas tu m'as deja enormement aide !! :)
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
6 févr. 2009 à 20:44
Re,
lami20j@debian:~$ rep="./new_dossier"
lami20j@debian:~$ mkdir -vp /home/lami20j/${rep##*/}/test_${rep##*_}
mkdir: création du répertoire `/home/lami20j/new_dossier'
mkdir: création du répertoire `/home/lami20j/new_dossier/test_dossier'
lami20j@debian:~$ ls -lR /home/lami20j/new_dossier/
/home/lami20j/new_dossier/:
total 4
drwxr-xr-x 2 lami20j lami20j 4096 fév  6 20:42 test_dossier

/home/lami20j/new_dossier/test_dossier:
total 0

0
Un grand merci ca fonctionne parfaitement !! :)
0