Notepad ++ 'da her satırın sonuna nasıl sayı eklerim?


37

23.000 satırım var ve 1her satırın sonuna sayıyı eklemem gerekiyor .

Bunu nasıl yapabilirim?

Şimdi:

[line1]TEXT
[line2]TEXT

Ne isterdim:

[line1]TEXT1
[line2]TEXT1

2
Daha ilginç; sıralı sayıları sıralı satırlara nasıl atarsınız? :-)
Carl Witthoft

1
@CarlWitthoft TextFX paketi içeren satırları numaralandırın (TextFx> TextFx Araçları> Satır Numaraları Ekle) ve ardından satır numaralarını regexp ile EOL'ye taşıyın.
DavidPostill

2
2 metin satırı arasında boş bir satır varsa, o satır da 1 olmalı mı?
Nzall

4
:%s/$/1/. Oh bekle, bu Vim . ;-) (hangisi olduğu hem de Windows için kullanılabilir.)
DevSolar

1
@DevSolar Alternatif :g/$/norm A1,. Ya da daha karmaşık ama meraklısı gg$<C-v>G$A1<esc>. Veya kuşkusuz iğrenç bile ggqqqqqA1<esc>j@qq@q. Bunu yapmanın birden fazla yolu: P
Doorknob

Yanıtlar:


28

Notepad ++ 'da her satırın sonuna nasıl sayı eklerim?

  • "Ara"> "Değiştir" (veya Ctrl+ H) menüsü

  • "Neyi bul" olarak ayarlayın \r\n

  • "İle Değiştir" seçeneğini 1\r\n

  • "Normal ifade" veya "Genişletilmiş" i etkinleştir

    Not - "Normal ifade", "Genişletilmiş" ün bir süper kümesidir, bu nedenle bu durumda hangisini kullandığınız önemli değildir.

  • "Tümünü Değiştir" i tıklayın

Resim tanımını buraya girin

Notlar:

  • Yukarıdakiler, Windows EOL'ler ile bir metin dosyası düzenlediğinizi varsaymaktadır \r\n.

  • Farklı EOL'lere sahip dosyalar kullanıyorsanız, "Düzenle"> "EOL Dönüştürme" Menülerini kullanarak bunları Windows EOL'lere dönüştürebilirsiniz.

  • Windows EOL ile çalışmıyorsanız ve dönüştürmek istemiyorsanız, aşağıdakileri kullanın:

    • Kullanım \nyerine \r\nUnix / OS X EOL 'larla için (olan "olanı bulun" \n, "Değiştir" dir 1\n)

    • Mac OS \ryerine kullanın \r\n(sürüm 9'a kadar) EOL'ler ("Bulun", "Şununla \rdeğiştir" dir 1\r)


daha fazla okuma


Bu, yalnızca satır sınırlayıcı pencerelerdeyse işe yarar, \ r \ n.
Zaheylu

4
Evet, ama Notepad ++ bir WIndows programıdır ...;)
DavidPostill

5
Ah haklısın ... :) Yine de, metin dosyasında kodlamayı biten başka bir satır olabilir;)
Zaheylu

5
Windows EOL ile çalışmıyorsanız, onları "dönüştürmek" için hiçbir neden yoktur ... sadece kullanın \nveya \rbunun yerine (sırasıyla Unix ve Mac EOL'ler). \n=> 1\nveya \r=> 1\r. Bu işleri kişisel olarak Regex yerine Extended ile daha sık yapıyorum.
WernerCD

2
@WernerCD Biri \ryalnızca geçersiz Mac OS için geçerli olduğuna dikkat edilmelidir . Kullanan OS X değil \n.
Bob,

19

Diğer bir seçenek ise kayıt ve oynatma özelliğidir.

  1. İmleciniz ilk satırda 'Kaydı Başlat' üzerine tıklayın
  2. Tür End, 1,
  3. 'Kaydı Durdur' üzerine tıklayın
  4. 'Makroyu Birden Çok Kez Çalıştır ...' seçeneğini tıklayın.
  5. 'Dosya sonuna kadar çalıştır'ı seçin ve Çalıştır'ı tıklayın.
  6. İş bitmiş

Ekran görüntüleri

kayıt ve oynatma

Tür End, 1,

Dur tıklayın

Makroyu Çalıştır

görüntü tanımını buraya girin

tamam


9
Notepad ++ makroları asla yeterince sevilmez.
armani

15

Güncelleme cevabı:

Hit Ctrl+ Hİletişim Kutusunu Değiştir açılması için.

Arama modu altında Normal İfade'yi işaretleyin.

Find what: $

Replace with: 1

Ve vur Replace all


Orijinal cevap

Hit Ctrl+ Hİletişim Kutusunu Değiştir açılması için.

Arama modu altında, işaretleyin Regular Expression.

Ne buldun: ^.*$

İle değiştirin ($0)1

Ve vur Replace all

açıklama

^.*$Temelde her satır olan normal ifadeyi arıyorsunuz . ^Bir satırın başlangıcını işaretler, .*herhangi bir sayıdaki herhangi bir karakteri $içerir ve satırın sonunu işaretler. Böylece, bu düzenli ifade tüm içeriği her satırda bulur.

Biz bu ifadeyi değiştirmek ($0)1, $0bulunan ifadesi olan ve bir ekleme 1buna.


2
Bul = $ve değiştir = 1yeterlidir.
Salman,

8

Ya da koca erkeklerin yaptığı gibi yap :).

Üst Krkt + Alt => sağ tuşunu (bir kez) => aşağı tuşunu kullanarak son sütunu seçin (son satıra kadar basın).

Ne istersen yaz. Aynı anda tüm satırlarda görünecektir.


Bunu da söyleyecektim .. neden bütün karmaşık reg ifadesi? Bu soruya mükemmel cevap veriyor .. ve neden aşağı oy? Çünkü birileri bunun geçerli bir cevap olduğunu anlamadı. Oo
Aynen

1
Bu, 23.000 satır için pratik olmayabilir (çok yavaş veya başka şekilde ( ressamın algoritmalarından Shlemiel'e bağlı hafıza problemleri ?)). 23,000 hattan denedin mi?
Peter Mortensen

2
@PeterMortensen Korkunç derecede yavaş, ancak hafıza kullanımı iyi (5 MB => 25 MB). En büyük sorun, farklı çizgi uzunluklarıyla iyi başa çıkmadığıdır.
Bob

@ Aynen Ortalama bir kullanıcı olduğunu iddia etmiyorum, ancak bu normal ifadelerden çok daha az sezgisel görünüyor. Sonra tekrar, xkcd.com/1171
David Z

1
Bu çok iyi bir cevap değil, ilk önce en uzun çizgiyi bulmanız gerekecek, sonra son çizgiye kadar bastırmanız gerekecek, bu yöntemi test ederken birkaç düzine çizgiden sonra sıkıldım, orada oturamadım. 20k + lines
Aequitas

1

Aynı derecede uzun dizeler ise, Altengellemeyi seçmek ve aynı anda birkaç satırda yazabilmek için tıklayıp sürükleyip bırakabilirsiniz. Eşit uzunlukta değiller ancak boşlukla ayrılmışlarsa, aynı işlemi yapamaz ve sonra "" ile "" değiştirirsiniz.


3
Bazen bu özelliği kullanıyorum, ancak 23.000 satır için sürüklüyorum ... Çok eğlenceli değil :)
Denham Coote

1

Genişletilmiş Mod

Diğer cevaplarda belirtilmeyen biraz farklı bir yaklaşım eklemek istedim: Genişletilmiş Mod.

Böyle bir şey için - tüm vardır ilgileniyoruz \r, \n, \tveya diğerlerinin dahil bu küçük listeden (o sayfa "tarihli" olarak görünüyor olsa da, onun doğruluğuna ilişkin yüzden% 100 emin) normal dışarı tam gitmek için hiçbir sebep yoktur ifadesi.

Dosya düzenlerine masaj yapmak için "sık sık" Notepad ++ 'un genişletilmiş modunu kullanıyorum - özellikle ortada birden fazla boş satır, ekstra boşluk ve diğer çeşitli tuhaflıklar var.

Genişletilmiş

  1. "Ara"> "Değiştir" (veya Ctrl+ H) menüsü
  2. Hangi satır sonlarını istediğinizi belirleyin
  3. "Neyi Bulun" ifadesinde:
    • \r\n pencereler için
    • \r MacOS'un eski sürümleri için (9 veya daha üstü)
    • \n Unix veya daha yeni MacOS için (OS X veya daha yenisi)
  4. "İle Değiştir" seçeneğini
    • 1\r\n pencereler için
    • 1\r MacOS'un eski sürümleri için (9 veya daha üstü)
    • 1\n Unix veya daha yeni MacOS için (OS X veya daha yenisi)
  5. "Genişletilmiş" i etkinleştir
  6. "Tümünü Değiştir" i tıklayın

"Düzenli ifade", "genişletilmiş" ün bir üst kümesidir, bu nedenle bu özel durumda hangisini kullandığınız önemli değildir.
DavidPostill

\nUnix için ve \rMacOS'un eski sürümü için olmamalı mı ? Wikipedia'dan ilk kurşun: en.wikipedia.org/wiki/Newline#Representations
nhahtdh 21:15
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.