Saya menggunakan garis bawah untuk menunjukkan direktori khusus yang perlu ke atas. Dalam folder proyek saya, saya punya proj_a, proj_b dan _old_projects. Tidak ada gunanya jika folder ini berada dalam proyek-o.
Martin Ueding
Jawaban:
9
Sebagai perintah satu kali, Anda dapat melakukan ini:
LC_COLLATE=C ls
Atau Anda dapat menambahkan export LC_COLLATE="C"ke .bashrc Anda untuk membuatnya permanen (mungkin ada hasil yang tidak terduga menyortir di tempat lain).
Saya kira saya hanya akan alias dengan itu, sehingga tidak memiliki efek samping.
Martin Ueding
Ini tidak berhasil untuk saya. Saya mendapatkan ini -> paste.pocoo.org/show/403333 (ini Jerman tapi tidak masalah)
dAnjou
2
@dAnjou LC_COLLATE=Cls menetapkan urutan penyortiran POSIX tradisional, yaitu oleh ASCII di mana huruf besar muncul sebelum garis bawah. Untuk memiliki tanda garis bawah sebelum huruf besar Anda harus mendapatkan di bawah kap dan membuat definisi lokal kustom di / usr / share / i18n / locales.
misterben
2
Ini mungkin berhasil di masa lalu, tetapi tidak berfungsi di Ubuntu 12.04.
Mikel
1
Pada Ubuntu 14.04, LC_COLLATE=C lstidak berfungsi, tetapi LC_ALL=C lstidak.
jwodder
6
Kalau-kalau tidak ada cara bawaan untuk melakukan ini, Anda bisa menggunakan pengganti sederhana untuk sort:
#!/usr/bin/env python
import sys
for i in sorted(sys.stdin):
sys.stdout.write(i)
Simpan, misalnya, di /bin/pysortdan buat itu dapat dieksekusi ( sudo cp whatever.py /bin/pysortdan sudo chmod a+x /bin/pysort), dan jalankan sebagai ls | pysort:
Saya mungkin akan memasukkannya ke dalam ~/bintetapi mundur bagus. Mungkin lebih baik menggunakan globbing di dalam python karena output dari ls mungkin aneh jika sebuah nama file berisi baris baru.
Martin Ueding
1
ls | sorttidak akan melakukan apa yang Anda butuhkan?
Jawaban:
Sebagai perintah satu kali, Anda dapat melakukan ini:
LC_COLLATE=C ls
Atau Anda dapat menambahkan
export LC_COLLATE="C"
ke .bashrc Anda untuk membuatnya permanen (mungkin ada hasil yang tidak terduga menyortir di tempat lain).Informasi lebih lanjut tentang forum Ubuntu .
sumber
LC_COLLATE=C
ls menetapkan urutan penyortiran POSIX tradisional, yaitu oleh ASCII di mana huruf besar muncul sebelum garis bawah. Untuk memiliki tanda garis bawah sebelum huruf besar Anda harus mendapatkan di bawah kap dan membuat definisi lokal kustom di / usr / share / i18n / locales.LC_COLLATE=C ls
tidak berfungsi, tetapiLC_ALL=C ls
tidak.Kalau-kalau tidak ada cara bawaan untuk melakukan ini, Anda bisa menggunakan pengganti sederhana untuk
sort
:Simpan, misalnya, di
/bin/pysort
dan buat itu dapat dieksekusi (sudo cp whatever.py /bin/pysort
dansudo chmod a+x /bin/pysort
), dan jalankan sebagails | pysort
:sumber
~/bin
tetapi mundur bagus. Mungkin lebih baik menggunakan globbing di dalam python karena output dari ls mungkin aneh jika sebuah nama file berisi baris baru.ls | sort
tidak akan melakukan apa yang Anda butuhkan?sumber