Jawaban ini terinspirasi oleh video YouTube . Diperbarui untuk mempertahankan urutan pengurutan asli, jika itu penting.
Notepad ++ memiliki alat TextFX bawaan yang mengurutkan garis yang dipilih secara alfabet. Alat ini dapat dibajak untuk mengurutkan berdasarkan panjang garis dengan menempatkan spasi di sebelah kiri setiap garis, dan memastikan bahwa semua garis memiliki panjang yang sama.
"The Zoo" hadir secara alfabet sebelum "Our House" karena ruang tersebut diperlakukan sebagai karakter dan muncul sebelum "i". __X
(Berpura-pura garis bawah benar-benar spasi) juga akan datang menurut abjad sebelumnya _XX
. Gagasan dalam jawaban ini adalah menambahkan spasi dan nomor baris sehingga __________092dog
akan diurutkan di atas _003alligator
.
Saya akan menggunakan yang berikut sebagai contoh data:
Lorem
ipsum
dolor
sit
amet
consectetur
adipisicing
Langkah 1. Tambahkan nomor baris.
(Catatan ditambahkan oleh barlop- catatan untuk pembaca mengenai langkah ini, kami tidak akan mengurutkan berdasarkan nomor baris ini, kami mengurutkan berdasarkan panjang baris. Tapi alasan untuk menambahkan nomor baris, adalah karena itu kami tahu tatanan alam, sehingga ketika misalnya, dua + garis memiliki panjang yang sama kita dapat mengurutkan garis-garis itu sesuai dengan tatanan alami itu)
Dengan asumsi file teks Anda hanya memiliki data di dalamnya, tempatkan kursor teks (garis vertikal) ke posisi paling pertama dari file tersebut. Kemudian di Edit
menu pilih Column Editor...
( Alt+ C). Pilih "Angka untuk Disisipkan" dan mulai dengan 1, tambah 1, dan sertakan nol di depan. Perhatikan bahwa ini akan mempertahankan urutan asli ketika menyortir dari string terpendek ke string terpanjang. Balikkan semua baris terlebih dahulu jika Anda ingin mengurutkan terlama ke terpendek.
1Lorem
2ipsum
3dolor
4sit
5amet
6consectetur
7adipisicing
Langkah 2. Pad semua garis dengan spasi terkemuka.
Tempatkan kursor teks (garis vertikal) ke posisi paling pertama dari file. Kemudian di Edit
menu pilih Column Editor...
( Alt+ C). Masukkan ruang yang cukup sehingga garis data terpendek akan padded ke panjang garis data terpanjang. Jika garis terpendek Anda memiliki 4 karakter, dan terpanjang Anda 44, maka pastikan Anda memasukkan setidaknya 40 spasi.
__________1Lorem
__________2ipsum
__________3dolor
__________4sit
__________5amet
__________6consectetur
__________7adipisicing
Langkah 3. Pangkas garis dengan panjang yang seragam.
Gunakan Cari / Ganti Ekspresi Reguler berikut ( Ctrl+ H) untuk mencocokkan karakter kanan yang menyamai atau melebihi panjang garis data terpanjang Anda.
^.*(.{50})$
Ganti semua dengan $1
. Itu akan memangkas segalanya kecuali 50 karakter paling kanan dari setiap baris. Jika data Anda lebih panjang (atau pendek) dari 50, sesuaikan {50}
dalam Ekspresi Reguler.
(Catatan ditambahkan oleh barlop- ide di sini adalah garis terpendek memiliki spasi terbanyak di awal )
_______1Lorem
_______2ipsum
_______3dolor
_________4sit
________5amet
_6consectetur
_7adipisicing
Langkah 4. Urutkan garis.
Pilih semua teks ( Ctrl+ A). Melalui menu TextFX, buka Text FX > TextFX Tools > Sort lines case sensitive (at column)
. Data Anda sekarang harus dalam urutan panjang, dari yang terpendek ke yang terpanjang. Jika Anda menginginkannya dalam urutan dari terpanjang ke terpendek, hapus centang Text FX > TextFX Tools > + Sort ascending
opsi sebelum mengurutkan. Perhatikan bagaimana nomor baris dibalik juga.
_________4sit
________5amet
_______1Lorem
_______2ipsum
_______3dolor
_6consectetur
_7adipisicing
Langkah 5. Hapus spasi memimpin.
Gunakan Cari Ekspresi Reguler lainnya ( Ctrl+ H) untuk mencocokkan spasi terkemuka.
^ *\d{4}
Itu adalah ruang antara tanda sisipan dan tanda bintang. Ganti semua tanpa apa-apa. Itu akan menghapus semua spasi utama dan nomor baris yang dimasukkan, jika Anda memiliki nomor baris 4 digit. Ganti {4}
dengan jumlah digit yang benar di nomor baris Anda.
sit
amet
Lorem
ipsum
dolor
consectetur
adipisicing
MAKRO
Saya mencatat langkah-langkah di atas menggunakan fitur makro Notepad ++, dan tidak berfungsi. Saya tidak yakin langkah mana yang gagal, tetapi saya belum mendiagnosisnya. Anda mungkin dapat menggunakan Autohotkey untuk mengotomatisasi ini jika Anda melakukannya berulang kali.