디렉토리 트리 항목의 이름을 하나씩 바꾸는 방법

디렉토리 트리 항목의 이름을 하나씩 바꾸는 방법

내 텍스트 파일에는 두 개의 열이 포함되어 있습니다.

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'
...
...

나무 이름을 바꾸는 방법이 있나요? 가장 큰 문제는 트리 중간에서 디렉터리 이름을 변경하면 목록의 나머지 부분이 관련이 없게 된다는 것입니다.

답변1

우편 주문알고리즘적으로는 디렉터리 순회가 원하는 것입니다.

TCSH나 다른 쉘에서 이 작업을 수행하는 것은 즐겁지 않을 수 있습니다.

이것은 일회성 행위입니까? 그렇다면 새 이름과 마찬가지로 트리를 파일로 인쇄하고 가장 깊은 디렉터리가 먼저 나오도록 목록을 수동으로 재정렬한 다음 스크립트에서 이름을 바꿉니다.

#!/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"  
...  
...  

관련 정보