find $DIR -depth -maxdepth 3 \
-type d -readable -printf \
'printf "\\n%p\\n"
ls -t --color=always "%p"\n' |\
. /dev/stdin 2>&-
Ciò evita qualsiasi problema con l'elenco degli argomenti poiché l'unico argomento che ls
verrà mai ricevuto è il nome della directory che si desidera elencare. Puoi farlo con qualsiasi cosa ti piaccia.
Il guscio solo . sources
il |pipe
come uno script di shell - E 'lo stesso processo e non ha i problemi che possono verificarsi quando si execve
è chiamato.
In ogni caso - quanto sopra va solo a tre profondità che è regolabile cambiando maxdepth
. Inoltre, per prima cosa approfondisce, quindi tornerai alla directory corrente da depth
.
Potresti notare che ottieni anche $LSCOLORS
- sulla mia macchina fornisce anche colonne stampate ordinatamente e tutto il resto da cui vorresti ls
- o, del resto , qualsiasi cosa tu possa immaginare di voler fare. source.
NO SVN
Ancora una volta, questo farà tutto ciò che ti aspetti ls
. Quindi nascondere i .svn
file è semplice come cambiare la ls
linea in:
ls -t --color=always --hide="*svn" "%p"\n
O se vuoi vedere le svn
estensioni in ogni cartella MA ./svn
puoi cambiarlo in modo che l'intero comando assomigli a questo:
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>&-
Personalmente, mi piace con ls -s
e, se ti interessa, -u
ordinerò in base al tempo di accesso piuttosto che al tempo mod.