Den Sat, 16 Mar 2002 09:46:52 +0100 skrev CykelSmeden fra Aalborg:
>Jeg bruger sikkert store ord når jeg hører årsagen men:
>
>Hvordan får jeg en listinin af alle subdir i en mappe?
>
>man ls:
>
> -d, --directory
> list directory entries instead of contents
>med entries - altså flertal.
>
>men jeg får kun aktuelle dir, altså entry.
Det der menes med "entries", er at fx ls * vil give ikke blot filerne
i det aktuelle katalog, men også filerne i alle kataloger et niveau
under dette:
kfr:tmp$ ls -l *
-rw-r--r-- 1 kfr users 0 mar 16 11:38 fil1
-rw-r--r-- 1 kfr users 0 mar 16 11:38 fil2
-rw-r--r-- 1 kfr users 0 mar 16 11:38 fil3
dir1:
total 0
-rw-r--r-- 1 kfr users 0 mar 16 11:38 fil4
-rw-r--r-- 1 kfr users 0 mar 16 11:38 fil5
dir2:
total 0
-rw-r--r-- 1 kfr users 0 mar 16 11:38 fil6
Hvis man ikke ønsker dette, bruger man ls -d * i stedet for:
kfr:tmp$ ls -l -d *
drwxr-xr-x 2 kfr users 4096 mar 16 11:38 dir1
drwxr-xr-x 2 kfr users 4096 mar 16 11:38 dir2
-rw-r--r-- 1 kfr users 0 mar 16 11:38 fil1
-rw-r--r-- 1 kfr users 0 mar 16 11:38 fil2
-rw-r--r-- 1 kfr users 0 mar 16 11:38 fil3
(Begge eksempler virker uden også uden "-l")
Den dovne måde at få kun kataloger er:
ls -l | grep ^d
(denne virker til gengæld IKKE uden -l).
Mvh
Kent
--
http://www.celebrityshine.com/~kfr/ - Ny tegning uploadet.