実際のフォルダ名自体を除外しながら、自分が属していないフォルダの内容を一覧表示するのに問題があります。
元:
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はどこにありますか。