Como renomear a entrada da árvore de diretórios por entrada

1

Eu tenho um arquivo de texto com duas colunas:

current directory name                               the new name of the last entry

d_7154/d_7161/                                       'Main Integration'
d_7154/d_7161/d_9247/                                'Flows & Methodologies'
d_7154/d_7161/d_9247/d_8986/                         'General Guidelines'
d_7154/d_457/d_691/d_705/                            'Projects T to Z'
d_7154/d_457/d_691/d_6056/d_11253/d_11254/           'Templates'
d_7154/d_457/d_691/d_6056/d_11253/d_11254/d_11255/   'General Templates'
d_7154/d_457/d_691/d_6056/d_11253/d_11254/d_11256/   'Team Template'
...
...

Existe uma receita para renomear a árvore? O principal problema é que, se eu mudar o nome do diretório no meio da árvore, o restante da lista não será relevante.

    
por Roman Kaganovich 06.03.2013 / 15:54

1 resposta

1

Travessia de diretório pós-ordem é o que você quer, algoritmicamente.

Fazer isso no TCSH ou em qualquer outro shell provavelmente não será agradável.

Esta é uma ação única? Em caso afirmativo, imprima sua árvore como você fez com os novos nomes, em um arquivo e reordene a lista manualmente para que os diretórios mais profundos sejam os primeiros e renomeie-os no script:

#!/bin/sh
mv d_7154/d_457/d_691/d_6056/d_11253/d_11254/d_11256   "d_7154/d_457/d_691/d_6056/d_11253/d_11254/Team Template"  
mv d_7154/d_457/d_691/d_6056/d_11253/d_11254/d_11255   "d_7154/d_457/d_691/d_6056/d_11253/d_11254/General Templates"  
mv d_7154/d_457/d_691/d_6056/d_11253/d_11254           "d_7154/d_457/d_691/d_6056/d_11253/Templates"  
mv d_7154/d_457/d_691/d_705                            "d_7154/d_457/d_691/Projects T to Z"  
mv d_7154/d_7161/d_9247/d_8986                         "d_7154/d_7161/d_9247/General Guidelines"  
mv d_7154/d_7161/d_9247                                "d_7154/d_7161/Flows & Methodologies"  
mv d_7154/d_7161                                       "d_7154/Main Integration"  
...  
...  
    
por 06.03.2013 / 16:11

Tags