ファイルに影響を与えずにディレクトリとサブディレクトリの名前を変更します。

ファイルに影響を与えずにディレクトリとサブディレクトリの名前を変更します。

プレフィックス "ms_PF" を使用してルート ディレクトリの下のディレクトリの名前を変更し、プライマリ ディレクトリの変更された名前を使用してサブディレクトリの名前を変更し、追加 "_" を追加して、すべてのディレクトリとサブディレクトリをルート ディレクトリにコピーする必要があります。しました。次のようになります。

root
   maindir1
   maindir2
           subdir1
           subdir2
           subdir3

maindir1 と maindir2 は接頭辞 "ms_PF_" に名前が変更され、ルートに直接コピーされます。 maindir2にはサブディレクトリがあるため、maindir2の新しい名前、つまりms_PF_maindir2にアンダースコア(_)を追加し、すべてのサブディレクトリを次のようにルートにコピーします。

ms_PF_maindir1
ms_PF_maindir2_subdir1
ms_PF_maindir2_subdir2
ms_PF_maindir2_subdir3

この問題についてご協力いただきありがとうございます。私が試した解決策はこれでしたが、実際には修正が必要です。

root_dir="/dwn/icbu_dwn/LL"
prefix="ms_PF_"
do_it () {
awk '{ print "mv $root_dir $prefix ${root_dir/\//_}" }' | sh
}
find "$root_dir" -depth -type d | do_it

ベストアンサー1

ディレクトリが数個しかない場合は、手動で実行します(他の操作を実行するよりも、作成/デバッグ操作が必要です)。

コレクションが大きい場合は、find(1)お気に入りのエディタを使用して影響を受けるファイルのリストを作成し、移動を実行するスクリプトに変換してください。エラーを確認して実行してください。

sed(1)大きいか重複している場合は、デフォルトで上記と同じことを行いますが、すぐに「新しい名前へのパスを編集」を使用します。おそらく電話で直接受け取ることができますfind。初心者に怖がる素晴らしいジョークになります...

おすすめ記事