Renommage partiel dun nom de dossier ss linux

Résolu
celyne -  
 celyne -
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

  1. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    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
    1. celyne
       
      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
  2. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    Salut,
    [tmpfs]$ var="./test"
    [tmpfs]$ echo ${var#*\.\/}
    test
    [tmpfs]$ basename $var
    test
    [tmpfs]$
    ;-))
    0
  3. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    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
    1. celyne
       
      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
  4. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    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
    1. celyne
       
      Un grand merci ca fonctionne parfaitement !! :)
      0