Saya ingin mendaftar semua file dalam direktori yang tidak memiliki ekstensi.
Sebagai contoh:
$ ls
a.txt b c.pdf d e.png
$ ls -someOption
b d
Perintah apa yang bisa saya gunakan, bukan ls -someOption?
.gitignoreekstensi?
Saya ingin mendaftar semua file dalam direktori yang tidak memiliki ekstensi.
Sebagai contoh:
$ ls
a.txt b c.pdf d e.png
$ ls -someOption
b d
Perintah apa yang bisa saya gunakan, bukan ls -someOption?
.gitignoreekstensi?
Jawaban:
shopt -s extglob ## enables extended globbing
ls !(*.*) ## matches every file except those containing a dot
Anda akan menemukan bahwa melakukan hal ini akan menunjukkan kepada Anda isi dari setiap direktori di direktori kerja. Jika Anda tidak menginginkan ini, gunakan:
ls -d !(*.*)
Anda dapat menempatkan shopt -s extglobdalam Anda ~/.bashrcuntuk memilikinya diaktifkan setiap kali Anda membuka terminal. Sudah ada baris di Ubuntu default ~/.bashrc(baris 29 untuk saya pada 13,04) yang dapat Anda batalkan komentar untuk mengaktifkan ini (dan globstar).
Lihat wiki Greg untuk informasi lebih lanjut tentang berbagai opsi penggumpalan shell. Perhatikan bahwa ini adalah properti dari bash shell daripada lsperintah, sehingga Anda dapat menggunakannya dengan perintah lain.
Atau, Anda dapat menggunakan
ls --ignore='*.*'
atau
ls -I '*.*'
... yang merupakan lsopsi internal , tetapi extglob dapat diterapkan pada perintah sembarang & jadi lebih berguna menurut saya.
ls !(*.*)