Odpowiedzi:
Myślę, że dostaniesz to, czego chcesz dzięki tej -maxdepth 1
opcji, w oparciu o twoją obecną strukturę poleceń. Jeśli nie, można spróbować patrząc na manualu dla find
.
Odpowiedni wpis (dla wygody):
-maxdepth levels
Descend at most levels (a non-negative integer) levels of direc-
tories below the command line arguments. `-maxdepth 0' means
only apply the tests and actions to the command line arguments.
Twoje opcje to w zasadzie:
find DirsRoot/* -maxdepth 0 -type f #This does not show hidden files
Lub:
find DirsRoot/ -maxdepth 1 -type f #This does show hidden files
1
jest prawdopodobnie tym, czego chce.
-maxdepth 0
nie pokazuje żadnego pliku, ale -maxdepth 1
działa zgodnie z przeznaczeniem, a także wyświetla ukryte pliki.
*
in find DirsRoot/* -maxdepth 0 -type f
. Jeśli to pominiesz, nie wyświetli żadnych plików.
Jeśli szukasz rozwiązania zgodnego z POSIX:
cd DirsRoot && find . -type f -print -o -name . -o -prune
-maxdepth nie jest opcją zgodną z POSIX.
find DirsRoot/* -type f -prune
?
-prune
btw) Odpowiedź brzmi nie, nie może. Aby w pełni zrozumieć DLACZEGO nie można tego uprościć, po prostu wyślij set -x
polecenie przed jego wysłaniem, find DirsRoot/* -type f -o -prune
a natychmiast zobaczysz to sam. Główną przyczyną są ograniczenia ekspansji powłoki DirsRoot/*
.
find . -name . -o -prune
-maxdepth 1
?