私のテキストファイルには2つの列が含まれています。
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"
...
...