Tek seferde birden fazla dosyada EOL'yi değiştirin


101

Notepad ++ 'da (veya başka bir araçla) birden çok dosyada otomatik olarak biten satırı tek seferde değiştirmenin bir yolu var mı?

yani, Windows EOL ( CRLF) ve UNIX EOL ( LF) dosyalarının bir karışımını tüm Windows EOL ( CRLF) olacak şekilde dönüştürün


1
Notepad ++ 'nın kesin bir gereklilik olmaması durumunda, buradaki bilgiler alakalı olabilir: stackoverflow.com/questions/3110031/…
reuben

Yanıtlar:


103

Değiştir iletişim EOL gibi genişletilmiş karakterler işleyebilir. Sadece "Arama Modu" nu "Genişletilmiş" olarak değiştirin ve EOL (Windows'ta \ r \ n veya Unix'te \ n), sekmeler (\ t) vb. İle çalışabilirsiniz.

Birden çok dosya arasında değiştirme yapmak için iletişim kutusunun Dosyalarda Bul sekmesini de kullanabilirsiniz .

Ekran görüntüsü


14
Tüm dosyalarınız zaten unix stili değilse bu çözümün işe yaramayacağını unutmayın . Değiştirilmesi yana \nolan \r\nda dönüştürecektir \r\niçin \r\r\n.
Kirk Woll

-1 Düzenle> EOL dönüşümünü değiştirmeden (ekran
görüntünüzün

43
\ n yerine \ r \ n yazın. sonra \ r \ r \ n yerine \ r \ n yazın. voila!
dev_row

2
Neden ekran görüntüsü örnek gösterileri \tde Find what? Sekmelerin değişen satır sonlarıyla hiçbir ilgisi yok, değil mi?
2014,

1
harika ... notepad ++ düzenleyicide mükemmel çalışıyor ... manuel değişikliklerle harcayacağımız büyük çabadan tasarruf sağlıyor
aniruddha

91

Notepad ++ 6.1.2 kullanıyorum.
"Düzenle" menüsünde, tam olarak ihtiyacınız olanı yapan "EOL dönüşümü" vardır.


25
dosya bazında çalışan, bir dizi dosyaya uygulanamaz.
fduff

11
Sorunun başlığını okudunuz mu? " Birden çok dosyada EOL'yi değiştir " bölümünü gördünüz mü ?
Sk8erPeter

2
Birden fazla dosyaya sırayla yapmak için birden fazla dosya açarsınız. Dediği gibi, "tek seferde" aslında orada değildi.
2013

7
Aslında yanıt benim için çok faydalı oldu çünkü EOL'yi tek dosyalarda değiştirmem gerekiyordu ve nasıl yapılacağını bilmiyordum.
DiegoDD

5
Google'da ilk olarak bu sorulduğu için faydalı cevap
Matthew Lock

69

'Dosyalarda Bul' özelliğini kullanın (Ctrl + Üst Karakter + F). Sol alttaki arama modunu 'Normal İfade' olarak değiştirin.

"Ne bul" kutusunda şu kalıbı kullanın:

(?<!\r)\n

İle değiştirin:

\r\n

Dizininizi seçin ve herhangi bir dosya türü filtresini belirtin. İsterseniz 'Tüm alt klasörlerde' seçeneğini işaretleyin. 'Dosyalarda Değiştir'i tıklayın.

Bunun yaptığı şey, şu anda satır başı (\ r) ile \ r \ n ile birlikte gelmeyen tüm yeni satır karakterlerini (\ n) değiştirmektir. Dolayısıyla, zaten Windows stili olan satır sonlarıyla eşleşmeyecektir.

görüntü açıklamasını buraya girin


1
Ne anlama (?<!\r)\ngeldiğini açıklar mısınız , özellikle ilk ?<!kısım, teşekkürler!
user1032613

2
(?<! )Negatif Geriye dönük olan. Önek yoksa eşleşme anlamına gelir. Bu durumda kontrol ediyor \rve sadece \nkendisinden \rönce bir tane yoksa eşleşecek .
rtpHarry

Evet. RtpHarry'ye katılıyorum. Bu, cevabımın bu kısmıdır: " şu anda bir satır başı (\ r) ile öncesinde olmayan herhangi bir yeni satır karakteri (\ n )".
Sean

1
en sofistike çözüm!
Philipp Michalski

4
Teknik olarak konuşursak, bu sayfadaki en kesin ve eksiksiz cevap budur.
dotNET

8

Tümünü normal ifadeyle değiştir seçeneğini kullanın

(\r?\n)|(\r\n?)

-e

\r\n

Bu, olası her satır sonlandırma deseniyle (tek \ r, \ n veya \ r \ n) tekrar \ r \ n (Windows) ile eşleşecektir.

Birden fazla dosya üzerinde çalışmak için:

  • "Değiştir" sekmesinde "Tüm açık belgelerde Tümünü Değiştir" seçeneğini kullanın. Önce tüm dosyaları Notepad ++ 'a sürükleyip bırakmanız gerekecektir. Hangi dosya üzerinde çalışacağınız üzerinde kontrole sahip olmanız iyi bir şeydir, ancak yüzlerce veya binlerce dosya varsa yavaş olabilir.
  • "Dosyalarda bul" sekmesindeki "Dosyalarda değiştir", seçtiğiniz dosya filtresine göre, örneğin, belirtilen bir dizin altında * .cpp * .cs.

En iyi yanıt, tüm satır sonları çeşitleriyle çalıştığı için. Teşekkürler!
yoyo

Bu en iyi ve en kolay cevap!
user1447420

5

Birden fazla dosya / klasör için bulduğum tek ÇALIŞMA çözümü, 1 saat boyunca googling yaptıktan sonra şudur:

  • yüklemek PyCham deneme modunu ,
  • Proje Klasörünüzü / Klasörlerinizi açın ve seçin ve ekran görüntüsünü izleyin

görüntü açıklamasını buraya girin


Ayrıca ücretsiz ve deneme gerektirmeyen IntelliJ IDEA Community Edition'da da çalışır. IntelliJ IDEA .
CodeMonkey

1

Bu çözümü bu tartışma yoluyla buldum :

Notepad ++ 'da varsayılan EOL'yi "Ayarlar" -> "Tercihler" -> "Yeni Belge / Varsayılan Dizin" üzerinden de ayarlayabilir ve ardından Biçim kutusu altında "Unix / OSX" öğesini seçebilirsiniz.

Not: Komut satırı kullanılarak her zaman bant dışı bir seçenek kullanılabilir:

unix2dos *.cmd
dos2unix *.sh

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.