実際のフォルダ名自体を除外しながら、自分が属していないフォルダの内容を一覧表示するのに問題があります。
元:
root@vps [~]# find ~/test -type d
/root/test
/root/test/test1
ただし、例として/test1のみを表示したいと思います。
考え?
シンプルでも問題ありません
find ~/test -mindepth 1
同様に、これは同じ効果があります。
find ~/test/*
含まれているすべてのものと一致します~/test/
が、それ自体は一致しません~/test
。
余談ですが、順序付けは通常重要ですが、スイッチは全体的な動作に影響を与えるため、オプションが他のスイッチの後にfind
あることについて不平を言うことはほぼ間違いありません。-mindepth n
-(min|max)depth n
あなたはとでそれを行うことができ-exec
ますbasename
:
find ~/test -type d -exec basename {} \;
説明:
find ~/test -type d
パーツは、の下にあるすべてのディレクトリを再帰的に検索します。~/test
-exec basename {} \;
パーツはでbasename
コマンドを実行します。{}
ここで、最後のステップのすべての結果がに代入されます。-type f
次に、の代わりに必要です-type d
。
-mindepth 1
または、親( )を除くフォルダの一覧を表示したい場合find ~/test -type d -mindepth 1
。
そして今あなたがそれを編集したので、私はあなたが望むものが何であるかもしれないと思います
find ~/test -type d -mindepth 1 |cut -d/ -f3-
しかし、私はあなたがより具体的にする必要があると思います;-)
で修正しましたsed
find $BASE -type d \( ! -iname "." \)|sed s/$BASE//g
$BASE
最初のfoldernameはどこにありますか。