Εύρεση CRLF στο Notepad++

Πώς μπορώ να βρω/αντικαταστήσω όλους τους χαρακτήρες CR/LF στο Notepad++;

Ψάχνω για κάτι αντίστοιχο με τον ειδικό χαρακτήρα ^p στο Microsoft Word.

Λύση

[\r\n]+ θα πρέπει επίσης να λειτουργήσει

Ενημέρωση 26 Μαρτίου 2012, ημερομηνία κυκλοφορίας του Notepad++ 6.0:

OMG, λειτουργεί τώρα!!!


Αρχική απάντηση 2008 (Notepad++ 4.x) - 2009-2010-2011 (Notepad++ 5.x)

Στην πραγματικότητα όχι, δεν φαίνεται να λειτουργεί με regexp...

Αλλά αν έχετε το Notepad++ 5.x, μπορείτε να χρησιμοποιήσετε τη λειτουργία αναζήτησης 'extended' και να αναζητήσετε το \r\n. Αυτό βρίσκει όλα τα CRLF σας.

(Αντιλαμβάνομαι ότι αυτή είναι η ίδια απάντηση με τις άλλες, αλλά και πάλι, η 'εκτεταμένη λειτουργία' είναι διαθέσιμη μόνο με το Notepad++ 4.9, 5.x και άνω)


Από τον Απρίλιο του 2009, έχετε ένα άρθρο wiki στον ιστότοπο του Notepad++ για το θέμα αυτό:
"Πώς να αντικαταστήσετε τα άκρα της γραμμής, αλλάζοντας έτσι τη διάταξη της γραμμής".
(αναφέρεται από τον georgiecasey στην παρακάτω απάντηση)

Ορισμένα σχετικά αποσπάσματα περιλαμβάνουν τις ακόλουθες διαδικασίες αναζήτησης:

Απλή αναζήτηση (Ctrl+F), Λειτουργία αναζήτησης = Normal

Μπορείτε να επιλέξετε ένα EOL στο παράθυρο επεξεργασίας.

  • Απλώς μετακινήστε τον κέρσορα στο τέλος της γραμμής και πληκτρολογήστε Shift+Δεξί βέλος.
  • ή, για να επιλέξετε το EOL με το ποντίκι, ξεκινήστε ακριβώς από το τέλος της γραμμής και σύρετε στην αρχή της επόμενης γραμμής- το σύρσιμο στα δεξιά του EOL δεν θα λειτουργήσει. Μπορείτε να αντιγράψετε χειροκίνητα το EOL και να το επικολλήσετε στο πεδίο για αρχεία Unix (LF-only).

Απλή αναζήτηση (Ctrl+F), Λειτουργία αναζήτησης = Εκτεταμένη

Η επιλογή "Extended" εμφανίζει τους χαρακτήρες \n και \r ως χαρακτήρες που θα μπορούσαν να ταιριάξουν.
Όπως και με την κανονική λειτουργία αναζήτησης, το Notepad++ αναζητά τον ακριβή χαρακτήρα.
Η αναζήτηση για \r σε ένα αρχείο με μορφή UNIX δεν θα βρει τίποτα, αλλά η αναζήτηση για \n θα βρει. Ομοίως, ένα αρχείο σε μορφή Macintosh θα περιέχει το \r αλλά όχι το \n.

Απλή αναζήτηση (Ctrl+F), Λειτουργία αναζήτησης = Κανονική έκφραση

Οι κανονικές εκφράσεις χρησιμοποιούν τους χαρακτήρες ^ και $ για να αγκυρώσουν τη συμβολοσειρά αντιστοίχισης στην αρχή ή το τέλος της γραμμής. Για παράδειγμα, η αναζήτηση για return;$ θα βρει εμφανίσεις του "return;" που δεν εμφανίζονται με κανένα επόμενο κείμενο στην ίδια γραμμή. Οι χαρακτήρες αγκύρωσης λειτουργούν πανομοιότυπα σε όλες τις μορφές αρχείων.
Ο μεταχαρακτήρας τελείας '.' δεν ταιριάζει με τις καταλήξεις γραμμών.

[Δοκιμασμένο στο Notepad++ 5.8.5]: μια αναζήτηση κανονικής έκφρασης με ρητό \r ή \n δεν λειτουργεί (σε αντίθεση με την τεκμηρίωση Scintilla).
Ούτε η αναζήτηση σε ρητό (επικολλημένο) LF ή στους (αόρατους) χαρακτήρες EOL που τοποθετούνται στο πεδίο όταν επιλέγεται ένας EOL. Σύνθετη αναζήτηση (Ctrl+R) χωρίς regexp

Ctrl+M θα εισάγει κάτι που ταιριάζει με νέες γραμμές. Θα αντικατασταθούν από τη συμβολοσειρά αντικατάστασης.
Συνιστώ αυτή τη μέθοδο ως την πιο αξιόπιστη, εκτός αν χρειάζεται πραγματικά να χρησιμοποιήσετε regex.
Για παράδειγμα, για να αφαιρέσετε κάθε δεύτερη νέα γραμμή σε ένα αρχείο με διπλό διάστιχο, πληκτρολογήστε Ctrl+M δύο φορές στο πλαίσιο συμβολοσειράς αναζήτησης και μία φορά στο πλαίσιο συμβολοσειράς αντικατάστασης.

Σύνθετη αναζήτηση (Ctrl+R) με Regexp.

Ούτε τα Ctrl+M, $ ούτε \r\n ταιριάζουν.


Το ίδιο wiki αναφέρει επίσης την εναλλακτική λύση Hex editor:

  • Πληκτρολογήστε τη νέα συμβολοσειρά στην αρχή του εγγράφου.
  • Στη συνέχεια, επιλέξτε για να προβάλετε το έγγραφο σε λειτουργία Hex.
  • Επιλέξτε μία από τις νέες γραμμές και πατήστε Ctrl+H.
  • Ενώ έχετε ανοίξει το παράθυρο διαλόγου Αντικατάσταση, επιλέξτε στο φόντο τη νέα συμβολοσειρά αντικατάστασης και Ctrl+C αντιγράψτε την για να την επικολλήσετε στην είσοδο Αντικατάσταση με κείμενο.
  • Στη συνέχεια, αντικαταστήστε ή αντικαταστήστε όλα όπως επιθυμείτε.

Σημείωση: ο χαρακτήρας που έχει επιλεγεί για νέα γραμμή εμφανίζεται συνήθως ως 0a.
Μπορεί να έχει διαφορετική τιμή εάν το αρχείο είναι σε μορφή Windows Format. Σε αυτή την περίπτωση μπορείτε πάντα να μεταβείτε στο Edit -> EOL Conversion -> Convert to Unix Format, και μετά την αντικατάσταση να το αλλάξετε πίσω και να Edit -> EOL Conversion -> Convert to Windows Format.

Σχόλια (12)

Στο παράθυρο διαλόγου Αντικατάσταση, θέλετε να ορίσετε τη λειτουργία αναζήτησης σε "Εκτεταμένη". Οι λειτουργίες κανονικής ή κανονικής έκφρασης δεν θα λειτουργήσουν.

Στη συνέχεια, απλά βρείτε το "\r\n" (ή απλά \n για αρχεία unix ή απλά \r για αρχεία μορφής mac), και ορίστε την αντικατάσταση σε ό,τι θέλετε.

Σχόλια (2)

Υποθέτοντας ότι διαθέτει αναζήτηση "regular expressions", αναζητήστε \r\n. Προτιμώ το \r?\n, επειδή ορισμένα αρχεία δεν χρησιμοποιούν επιστροφές χαρακτήρων.

EDIT: Ευχαριστώ για τα σχόλια, όποιος το καταψήφισε. Έμαθα ότι... δεν έμαθα τίποτα, επειδή δεν μου δώσατε κανένα σχόλιο. Γιατί αυτό είναι λάθος;

Σχόλια (2)