/path/to/foo
メタパターンに一致するサブディレクトリを除いて、ディレクトリの下のすべてのエントリを削除したいと思います。
/path/to/foo/<DIGITS>/
たとえば、次のものが元々次のような/path/to/foo
場合:
/path/to/foo
├── 0/
│ ├── a
│ └── b
├── 232532/
├── 42
├── 73/
│ ├── d
│ └── e
├── 8xyz/
│ ├── i
│ └── j
├── _bar/
│ ├── x
│ ├── y
│ └── z
├── .baz/
│ ├── f
│ └── frobozz/
│ ├── g
│ └── h
└── quux/
└── 123/
...終わりたい
/path/to/foo
├── 0/
│ ├── a
│ └── b
├── 232532/
└── 73/
├── d
└── e
私はこれを行うことができますfind ... -delete
- ベースの注文または適切なzsh
グローバルパターン(について)を探しています。rm -r
私はLinuxを使用しています。
ベストアンサー1
そしてzsh
:
set -o extendedglob # best in ~/.zshrc
rm -rf /path/to/foo/^<->(D) /path/to/foo/<->(^-/)
^something
はい何かではない(似ksh
ている!(something)
)<->
はからの<x-y>
10進整数と一致しますが、境界を提供しません(したがって 'sに似たすべての10進数シーケンスと一致します)。x
y
ksh
+([0-9])
(D)
隠しファイル(またはファイル)を含むD
glob修飾子(^-/)
グローバル予選シンボリックリンクの確認後、ディレクトリタイプではないファイルのみ(-
ディレクトリへのシンボリックリンクも削除するには、このエントリを削除します。)