Mitä ovat rivinpäätökset?

Rivinpäätös (kutsutaan myös rivinvaihdoksi tai rivinpäätössekvensiksi) on erikoismerkki tai merkkipari, joka merkitsee, missä yksi tekstirivi päättyy ja seuraava alkaa. Käyttöjärjestelmissä on kolme erillistä käytäntöä: LF (\n, yksittäinen linefeed-merkki), CRLF (\r\n, carriage return -merkki jota seuraa linefeed), ja CR (\r, itsenäinen carriage return -merkki).

Ero juontaa juurensa varhaisesta tietotekniikasta. Kirjoituskoneet vaativat kaksi fyysistä askelta uuden rivin aloittamiseen — vaunun palauttaminen alkuun (CR) ja paperin siirtäminen yhden rivin verran (LF). Unix-järjestelmät ottivat käyttöön vain LF:n 1970-luvulla, kun taas MS-DOS ja myöhemmin Windows säilyttivät täyden CR+LF-sekvenssin. Klassinen Mac OS (ennen OS X:ää) käytti vain CR:ää, mutta nykyaikainen macOS noudattaa Unix LF -käytäntöä.

Sekalaiset rivinpäätökset ovat yleisiä tiedostoissa, joita on muokattu useilla alustoilla, siirretty järjestelmien välillä tai yhdistetty eri lähteistä. Ne voivat aiheuttaa hienovaraisia virheitä skripteissä, rakennustyökaluissa ja versionhallintajärjestelmissä.

Työkalun kuvaus

Tämä työkalu analysoi tekstiä tai tiedostoa ja havaitsee, mitkä rivinpäätöstyypit ovat läsnä. Se laskee jokaisen tyypin erikseen — CRLF, LF ja CR — ja raportoi yleisen rivinpäätöstyyli (mukaan lukien, onko tiedostossa sekalaiset päätökset). Se tarjoaa myös perustilastoja riveistä: rivien kokonaismäärä, pisin rivi, lyhin rivi ja keskimääräinen rivin pituus.

Ominaisuudet

  • Havaitsee kaikki kolme rivinpäätöstyyppiä: CRLF (Windows), LF (Unix/macOS) ja CR (klassinen Mac)
  • Tunnistaa sekalaiset rivinpäätökset ja merkitsee hallitsevan tyylin
  • Hyväksyy sekä liitetyn tekstin koodieditorin kautta että ladatut tiedostot missä tahansa tekstimuodossa
  • Laskee jokaisen rivinpäätöstyypin itsenäisesti ilman kaksinkertaista laskemista
  • Raportoi rivien kokonaismäärän, pisimmän rivin, lyhimmän rivin ja keskimääräisen rivin pituuden

Käyttötapaukset

  • Alustarajat ylittävien rakennusvirheiden korjaaminen — skriptit tai konfiguraatiotiedostot odottamattomilla CRLF-päätöksillä rikkoutuvat usein Unix-palvelimilla; käytä tätä työkalua rivinpäätösten vahvistamiseen ennen käyttöönottoa
  • Koodin tarkistamisen valmistelu — varmista, että Windows-koneelta peräisin oleva tiedosto käyttää projektin odotettua LF-käytäntöä ennen vahvistamista
  • Tekstitiedostojen tarkastus — tarkista nopeasti lokitiedostoja, CSV-tiedostoja tai tietojen vientiä niiden rakenteen ymmärtämiseksi ennen ohjelmallista jäsentämistä

Kuinka se toimii

CRLF-sekvenssit (\r\n) havaitaan ja lasketaan ensin regex-vastaavuuden avulla. Vastaavat parit poistetaan sitten merkkijonosta ennen kuin LF (\n) ja CR (\r) -merkkejä lasketaan erikseen. Tämä estää yksittäisen \r\n:n laskemisen sekä CR:ksi että LF:ksi. Rivin tilastot johdetaan jakamalla alkuperäinen teksti kaikkiin kolmeen rivinpäätöskuvioon.