find $DIR -depth -maxdepth 3 \
-type d -readable -printf \
'printf "\\n%p\\n"
ls -t --color=always "%p"\n' |\
. /dev/stdin 2>&-
Dadurch werden Probleme mit der Argumentliste vermieden, da das einzige Argument, ls
das jemals empfangen wird, der Name des Verzeichnisses ist, das aufgelistet werden soll. Sie können dies mit allem tun, was Sie möchten.
Die Schale nur . sources
die |pipe
als Shell - Skript - es ist der gleiche Prozess und nicht über die Probleme auftreten können , wenn execve
aufgerufen wird.
In jedem Fall - das oben genannte geht nur drei-tief, was durch Ändern einstellbar ist maxdepth
. Es ist auch tief zuerst - so arbeiten Sie sich rückwärts zu Ihrem aktuellen Verzeichnis von depth
.
Sie werden vielleicht bemerken, dass Sie auch $LSCOLORS
- auf meinem Computer gibt es auch ordentlich gedruckte Spalten und alles andere, was Sie sich wünschen würden ls
- oder alles, was Sie sich vorstellen können, mit dem Sie etwas anfangen möchten. source.
KEINE SVN
Auch dies wird alles tun, was Sie erwarten ls
. Das Ausblenden von .svn
Dateien ist also so einfach wie das Ändern der ls
Zeile in:
ls -t --color=always --hide="*svn" "%p"\n
Oder wenn Sie svn
Erweiterungen in jedem Ordner sehen möchten, ABER ./svn
Sie können sie so ändern, dass der gesamte Befehl folgendermaßen aussieht:
find $DIR -depth -maxdepth 3 \
-type d -readable -printf \
'printf "\\n%p\\n" ; hide=
[ "%p" = "./svn" ] && hide="*svn"
ls -t --color=always --hide="$hide" "%p"\n' |\
. /dev/stdin 2>&-
Persönlich mag ich es mit ls -s
und, wenn Sie sich interessieren, -u
sortieren Sie nach Zugriffszeit und nicht nach Mod-Zeit.