On 10-Apr-2000, Hanafi Tanudjaja wrote:
> Nanya lagi   (he  he  nanya melulu   )
Kalo nggak ya sepi nih milis :)

> Bagaimana perintahnya supaya  ouput  dari ls -??  hanya file file yg tak
> punya extension.

Pertama, ada baiknya dipahami bahwa "extension" itu hanya pandangan
user, OS-nya sendiri tidak tahu menahu soal "extension". Tanda titik
di filename ya hanya tanda titik, tidak punya arti khusus di mata
OS-nya.

Trivia quiz:
- apa bedanya 'rm -f *.*' dan 'rm -f *' ?
- bagaimana menghapus semua files, termasuk dot-files? tapi tidak
  menghapus direktorinya..

Menjawab pertanyaan anda, umumnya anda bisa menggunakan pattern
matching dari shell, namanya glob. Contoh globbing itu '*' atau
'*log*txt'. Jadi misalnya anda mengetikkan 'ls -l *txt' di shell, maka
si shell akan menerjemahkan dulu globnya baru meng-execute program ls.
Misalnya di dir tsb hanya ada 2 file yg berakhiran txt: a.txt dan
xyztxt, maka si program ls akan diexecute: 'ls -l a.txt xyztxt' oleh
si shell. Si ls tidak bisa menerjemahkan apa itu artinya '*', dst.

Nah jadi anda tinggal mencari patternnya supaya globbing file yg
namanya tidak mengandung 'titik yg diikuti 0 or more characters'.
Untuk mempelajari globbing ini, silakan baca 'man bash' (cari
'Pathname Expansion' dengan menekan '/').

Sayangnya, pattern di atas itu regular language, jadi butuh regular
expression, kayaknya nggak bisa pake shell globbing. Jadi kalo saya
begini: 
/bin/ls | grep -v '\.' | xargs ls -ld

'\.' itu regular expressionnya yg akan matching semua yg mengandung
titik, tapi -v artinya hasilnya diinvert, print hanya kalo tidak
matching.

Kalo anda butuh yg lebih kompleks, misalnya jangan list direktori,
cuma files aja, saya sarankan pake 'find', misalnya:

find -maxdepth 1 -type d -not -regex '\.' -not -path './.*' | xargs ls -ld

Loh, kok jadi panjang lebar? hehehe..

        Ronny

--------------------------------------------------------------------------
Utk berhenti langganan, kirim email ke [EMAIL PROTECTED]
Informasi arsip di http://www.linux.or.id/milis.php3
Pengelola dapat dihubungi lewat [EMAIL PROTECTED]

Kirim email ke