Bagaimana cara menambahkan nomor di akhir setiap baris di Notepad ++?

37

Saya memiliki 23.000 baris, dan saya perlu menambahkan nomor 1di akhir setiap baris.

Bagaimana saya bisa melakukan ini?

Sekarang juga:

[line1]TEXT
[line2]TEXT

Apa yang saya inginkan:

[line1]TEXT1
[line2]TEXT1
palsu
sumber
2
Lebih menarik; bagaimana Anda menetapkan nomor urut untuk garis berurutan? :-)
Carl Witthoft
1
@CarlWitthoft Beri nomor baris dengan paket TextFX (TextFx> TextFx Tools> Masukkan Nomor Baris) dan kemudian pindahkan nomor baris ke EOL dengan regexp.
DavidPostill
2
Jika ada baris kosong antara 2 baris teks, haruskah baris itu juga mendapatkan 1?
Nzall
4
:%s/$/1/. Oh, tunggu, itu Vim . ;-) (yang adalah tersedia untuk Windows juga.)
DevSolar
1
@DevSolar Atau :g/$/norm A1,. Atau yang lebih rumit tetapi lebih mewah gg$<C-v>G$A1<esc>. Atau bahkan yang dianggap menjengkelkan ggqqqqqA1<esc>j@qq@q. Lebih dari satu cara untuk melakukannya: P
Doorknob

Jawaban:

28

Bagaimana cara menambahkan nomor di akhir setiap baris di Notepad ++?

  • Menu "Cari"> "Ganti" (atau Ctrl+ H)

  • Setel "Temukan apa" \r\n

  • Setel "Ganti dengan" ke 1\r\n

  • Aktifkan "Ekspresi reguler" atau "Diperpanjang"

    Catatan - "Ekspresi reguler" adalah superset dari "Diperpanjang" sehingga dalam kasus khusus ini tidak masalah yang mana yang Anda gunakan.

  • Klik "Ganti Semua"

Masukkan deskripsi gambar di sini

Catatan:

  • Di atas mengasumsikan Anda sedang mengedit file teks dengan Windows EOLs \r\n,.

  • Jika Anda menggunakan file dengan EOL yang berbeda, Anda dapat mengonversinya ke Windows EOL menggunakan Menu "Edit"> "EOL Conversion".

  • Jika Anda tidak bekerja dengan Windows EOL, dan Anda tidak ingin mengubahnya, gunakan yang berikut ini sebagai gantinya:

    • Gunakan \nsebagai ganti \r\nuntuk Unix / OS X EOLs ("Temukan apa" \n, "Ganti dengan" 1\n)

    • Gunakan \rsebagai ganti \r\nuntuk Mac OS (hingga versi 9) EOL ("Temukan apa" \r, "Ganti dengan" 1\r)


Bacaan lebih lanjut

DavidPostill
sumber
Ini hanya berfungsi jika pembatas baris adalah windows, \ r \ n.
Zaheylu
4
Ya, tapi Notepad ++ adalah program WIndows ...;)
DavidPostill
5
Oh Anda benar ... :) Namun, file teks mungkin memiliki kode akhir baris lain;)
Zaheylu
5
Jika Anda tidak bekerja dengan windows EOL, tidak ada alasan untuk "mengonversi" mereka ... cukup gunakan \natau \rsebagai gantinya (masing-masing Unix dan Mac EOL). \n=> 1\natau \r=> 1\r. Saya melakukan ini agak lebih sering dengan Extended daripada Regex secara pribadi.
WernerCD
2
@WernerCD Perlu dicatat bahwa satu- \rsatunya berlaku untuk Mac OS yang sudah mati. Bukan OS X, yang digunakan \n.
Bob
19

Pilihan lain adalah fitur rekam dan putar.

  1. Dengan kursor Anda di baris pertama, Klik 'Mulai Rekaman'
  2. Ketik End, 1,
  3. Klik pada 'Stop Recording'
  4. Klik 'Jalankan Makro Beberapa Kali ...'
  5. Pilih 'Jalankan hingga akhir file' dan klik Jalankan
  6. Pekerjaan selesai

Tangkapan layar

rekam dan putar

Ketik End, 1,

Klik berhenti

Jalankan Macro

masukkan deskripsi gambar di sini

Selesai

Denham Coote
sumber
9
Makro Notepad ++ tidak pernah mendapatkan cukup cinta.
armani
15

Jawaban yang diperbarui:

Tekan Ctrl+ Huntuk membuka Dialog Ganti.

Di bawah mode pencarian, centang Ekspresi Reguler.

Find what: $

Replace with: 1

Dan pukul Replace all


Jawaban asli

Tekan Ctrl+ Huntuk membuka Dialog Ganti.

Di bawah mode pencarian, centang Regular Expression.

Menemukan apa: ^.*$

Ubah dengan ($0)1

Dan pukul Replace all

Penjelasan

Anda mencari ekspresi reguler ^.*$, yang pada dasarnya setiap baris. ^menandai awal baris, .*termasuk karakter apa saja berapa kali dan $menandai akhir baris. Jadi, ekspresi reguler ini menemukan semua konten di setiap baris.

Kami mengganti ekspresi ini dengan ($0)1, $0menjadi ekspresi yang ditemukan, dan menambahkannya 1.

Zaheylu
sumber
2
Cari = $dan ganti = 1sudah cukup.
Salman A
8

Atau lakukan seperti yang dilakukan anak laki-laki besar :).

Pilih kolom terakhir menggunakan Shift + Alt => tombol kanan (sekali) => tombol bawah (tekan hingga baris terakhir).

Ketikkan apa pun yang Anda inginkan. Ini akan muncul di semua baris sekaligus.

banavalikar
sumber
Saya akan mengatakan ini juga .. mengapa semua ekspresi reg kompleks? ini menjawab pertanyaan dengan sempurna .. dan mengapa suara turun? karena seseorang tidak mengerti bahwa itu adalah jawaban yang valid? Oo
Ditto
2
Ini mungkin tidak praktis untuk 23.000 baris (terlalu lambat atau sebaliknya (masalah memori karena algoritma Shlemiel sang pelukis ?)). Sudahkah Anda mencobanya di 23.000 baris?
Peter Mortensen
2
@PeterMortensen Sangat lambat, tetapi penggunaan memori baik-baik saja (5 MB => 25 MB). Masalah yang lebih besar adalah bahwa tampaknya tidak dapat mengatasi dengan baik dengan panjang garis yang berbeda.
Bob
@Lakukan Saya tidak membuat klaim sebagai pengguna biasa, tapi ini tampaknya kurang intuitif daripada ekspresi reguler. Kemudian lagi, xkcd.com/1171
David Z
1
Ini bukan jawaban yang sangat baik, pertama Anda harus menemukan garis terpanjang, lalu Anda perlu menekan hingga baris terakhir, saat menguji metode ini saya bosan setelah beberapa lusin baris, saya tidak bisa duduk di sana selama 20k + baris
Aequitas
1

Jika itu sama-sama panjang, maka Anda dapat menahan Altdan mengklik dan menarik untuk memblokir pilih dan dapat menulis pada beberapa baris sekaligus. Jika panjangnya tidak sama, tetapi tidak terpisah ruang, Anda tidak dapat melakukan prosedur yang sama dan kemudian mengganti "" dengan "".

Viktor Mellgren
sumber
3
Saya kadang-kadang menggunakan fitur ini, tetapi menyeret 23.000 baris ... Tidak terlalu menyenangkan :)
Denham Coote
1

Extended Mode.

Saya ingin menambahkan pendekatan yang sedikit berbeda yang tidak disebutkan dalam jawaban lain: Extended Mode.

Untuk sesuatu seperti ini - di mana semua yang Anda prihatin dengan adalah \r, \n, \tatau orang lain termasuk dalam daftar kecil ini (meskipun halaman tampilannya menjadi "tanggal", jadi tidak 100% yakin pada kebenarannya) tidak ada alasan untuk pergi penuh keluar biasa ekspresi.

Saya menggunakan mode diperpanjang Notepad ++ "sering" untuk memijat tata letak file - terutama berpusat di sekitar menghapus beberapa baris kosong, spasi tambahan dan keanehan lainnya.

Diperpanjang

  1. Menu "Cari"> "Ganti" (atau Ctrl+ H)
  2. Tentukan ujung garis yang Anda inginkan
  3. Dalam "Temukan Apa":
    • \r\n untuk Windows
    • \r untuk versi MacOS yang lebih lama (9 atau lebih)
    • \n untuk Unix atau yang lebih baru dari MacOS (OS X atau yang lebih baru)
  4. Setel "Ganti dengan" ke
    • 1\r\n untuk Windows
    • 1\r untuk versi MacOS yang lebih lama (9 atau lebih)
    • 1\n untuk Unix atau yang lebih baru dari MacOS (OS X atau yang lebih baru)
  5. Aktifkan "Diperpanjang"
  6. Klik "Ganti Semua"
WernerCD
sumber
"Ekspresi reguler" adalah superset dari "extended" jadi dalam kasus khusus ini tidak masalah yang mana yang Anda gunakan.
DavidPostill
Bukankah seharusnya \nuntuk Unix dan \runtuk versi MacOS yang lebih lama? Peluru pertama dari Wikipedia: en.wikipedia.org/wiki/Newline#Representations
nhahtdh