find $DIR -depth -maxdepth 3 \
-type d -readable -printf \
'printf "\\n%p\\n"
ls -t --color=always "%p"\n' |\
. /dev/stdin 2>&-
Ini menghindari masalah daftar argumen karena satu-satunya argumen yang ls
akan diterima adalah nama direktori yang ingin Anda daftarkan. Anda dapat melakukan ini dengan apa pun yang Anda suka.
Shell hanya . sources
itu |pipe
sebagai shell script - itu proses yang sama dan tidak memiliki masalah Anda dapat menemukan ketika execve
disebut.
Dalam hal apa pun - yang di atas hanya tiga kedalaman yang dapat disesuaikan dengan mengubah maxdepth
. Ini juga mendalam dulu - jadi Anda bekerja mundur ke direktori saat ini dari depth
.
Anda mungkin memperhatikan Anda juga mendapatkan $LSCOLORS
- di mesin saya itu juga menyediakan kolom tercetak rapi dan segala sesuatu yang Anda inginkan ls
- atau, dalam hal ini, apa pun yang dapat Anda bayangkan akan Anda lakukan dengan. source.
TANPA SVN
Sekali lagi, ini akan melakukan apa pun yang Anda harapkan ls
. Jadi menyembunyikan .svn
file semudah mengubah ls
baris menjadi:
ls -t --color=always --hide="*svn" "%p"\n
Atau jika Anda ingin melihat svn
ekstensi di setiap folder TETAPI ./svn
Anda bisa mengubahnya sehingga seluruh perintah terlihat seperti ini:
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>&-
Secara pribadi, saya suka dengan ls -s
dan, jika Anda peduli, -u
akan mengurutkan berdasarkan waktu akses daripada waktu mod.