bashの親フォルダと同じ名前のフォルダを繰り返し削除しますか?

bashの親フォルダと同じ名前のフォルダを繰り返し削除しますか?

マイコンピュータの1つでファイルの複製に問題があります。親フォルダに名前が同じすべてのフォルダのコピーがありますが、スペースが多く無駄になっていてすべて削除したいと思います。

例:

 /mnt/test/files/foo
 \_ /mnt/test/files/foo/file1 (etc)
 |__ /mnt/test/files/foo/foo
 \_ /mnt/test/files/foo/foo/file1 (etc)
 |_ /mnt/files/foo/foo2
  \_ /mnt/files/foo/foo2/file1 (etc)
 |_ /mnt/files/foo/foo2/foo2
  \_ /mnt/files/foo/foo2/foo2/file1 (etc)

/mnt/files/foo/foo明らかに私はそれとその/mnt/files/foo/foo2/foo2内容(など)を完全に削除し、スペースの無駄を止めたいと思います。 Bashでスクリプトを書くための良い方法は何ですか?

ベストアンサー1

find述語をサポートしている場合は、次のように-regexディレクトリを一覧表示できます。

find . -type d -regex '.*/\([^/]*\)/\1' -prune -print

これを削除するには、次のように変更できます-print

-exec rm -rf {} +

ただし、必要なファイルを削除しないように、まずリストを確認してください。

おすすめ記事