[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

RE: ls ile önce dizinleri, sonra dosyalarilisteleme



Title: RE: ls ile önce dizinleri, sonra dosyalarilisteleme

Tek komut satirinda halledebilecegim isler icin
BASH fonksiyonlari yazmamayi tercih ederim.

sort benim isimi görüyor, asagida gösterecegim gibi
ama sanirim bir yanlis anlama olmus ki siz alt dizinlerden
falan bahsetmissiniz, "recursive" bir ls söz konusu degil
sadece icinde bulundugum dizindeki dizinleri ve dosyalari
listelemek benim derdim (tabii istedigim kriterlere göre).

Asagidaki komut kabacak istedigimi yapiyor (renklendirme haric):


  ls -la | sort -k 9 -d | egrep ^d && ls -la | sort -k 9 -d | egrep "^-"

tabii ls'nin parametreleri ile oynamak, . dosyalarini göstermemek
vs. mümkün ama su anda bu cok önemli degil.

Renklendirme isi icin ise:

  ls -la | sort -k 9 -d | egrep ^d | ccze -A && ls -la | sort -k 9 -d | egrep "^-" | ccze -A

komutu isimi görüyor. Tabii burada da ccze'nin parametreleri ile oynamak
ve renklere müdahale etmek mümkün, simdilik fena görünmedi.

Öte yandan diyebilirsiniz ki "&&" ile iki farkli komut satiri kullandigim
icin bu o kadar esnek degil, evet ancak dedigim gibi mükemmel bir cözümden
ziyade istedigim seyi basitce yapacak bir yöntem ariyordum
ve yukaridaki komut satirinin derdimi büyük ölcüde hallettigini
gördüm.

Vakit ayirip ilgilendiginiz icin cok tesekkür ederim. Eger bunu
bir betik dosyasi haline getirmek istersem yazdiklarinizdan
faydalanacagim.

Istanbul Bilgi Universitesi'nden Can Burak'a da ccze programini
hatirlattigi icin tesekkür ederim :)
 

Bol Debian'li günler...

Emre S.

-----Original Message-----
From: Ali Alphan Bayazit on behalf of Ali Alphan Bayazit
Sent: Sun 12/19/2004 10:34 AM
To: debian-user-turkish@lists.debian.org
Subject: Re: ls ile önce dizinleri, sonra dosyalarilisteleme

Selam,

On Fri, 2004-12-17 at 16:10 +0200, Emre Sevinç wrote:
>
> Merhaba,
>
> Belki cok basittir ve ben bulamamisimdir, bir de buradaki Linux
> ustalarina sorayim
> dedim:
>
> ls kullanarak, önce dizinleri (kendi iclerinde alfabetik sirali)
> *SONRA*
> dosyalari
> (kendi iclerinde alfabetik sirali) listelemek mümkün müdür? Biraz |
> sort
> ile falan
> bakayim dedim ama öyle bir durumda ls'nin --color=auto etkisini
> kaybediyorum
> ki bunu da istemiyorum, yani renkli görmek istiyorum konsolda.
>
> Önerisi olan?
>
>
sort nasil cozuyor sorunuzu anlamadim,

ls -l |sort gibi bisey ise:

1. (once) yazim haklarina gore siralar
2. (arada) renk karakterlerine gore siralar
3. alt dizinlere girildiginde  dagilir

ben olsam soyle bisi yapardim:

function lil {
if [ -t 1 ]; then
 BLIST=$(ls -p --color "$@")
else
 BLIST=$(ls -p "$@")
fi
echo -n "$BLIST" | grep /
echo -n "$BLIST" | grep -v /
}

bu da altdizinlerdeki dizinleri en uste tasima hatasinda bulunur , ama
onun disinda yamuk yapmaz heralde (bi de dizin olmayan dosya yoksa, 0
donmez. bunu da basit bir ifle duzeltebilirsiniz


--
A. Alphan Bayazit
http://www.bayazit.net/alphan



Reply to: