U mnie działa "poprawnie":
$ ./plik.tcsh ./
ls: nie można otworzyć katalogu ./kde-kdm: Brak dostępu
ls: nie można otworzyć katalogu ./ksocket-kdm: Brak dostępu
W podanym katalogu jest 28 katalogow i 5 plikow.
$ ls -R
.:
akonadi-minio.wBXQoC kde-minio napis pulse-ZzsRwpC5iUza ssh-JVqLSaqx1948
birthday-22.12.11-18314 ksocket-kdm orbit-minio qtsingleapp-homemi-d2e2-3e8 virt_1111
kde-kdm ksocket-minio plik.tcsh qtsingleapp-homemi-d2e2-3e8-lockfile virtuoso_hX2701.ini
./akonadi-minio.wBXQoC:
akonadiserver.socket mysql.socket
ls: nie można otworzyć katalogu ./kde-kdm: Brak dostępu
./kde-minio:
closeditems
./kde-minio/closeditems:
_1.94
ls: nie można otworzyć katalogu ./ksocket-kdm: Brak dostępu
./ksocket-minio:
kdeinit4__0 kio_http_cache_cleaner klauncherMT2048.slave-socket KSMserver__0 nepomuk-socket
./orbit-minio:
./pulse-ZzsRwpC5iUza:
./ssh-JVqLSaqx1948:
agent.1948
Problemem jest raczej to, że katalogi liczy podwójnie (ponieważ ls -R podaje ich nazwy dwukrotnie, tylko w odmiennych kontekstach).
Zamiast korzystać z ls -R powinieneś wykorzystać jakąś wbudowaną funkcję tcsh do iterowania po wszystkich elementach listy, gdzie listą byłyby wszystkie pliki w katalogu. Ponieważ w katalogu może być katalog, taka funkcja pewnie powinna być uruchamiana rekurencyjnie. Konkretnej konstrukcji nie podam, ponieważ nie znam tcsh, ale spodziewam się, że takie rzeczy są opisane w kursach dla początkujących.