Lisää rivinumeroita tekstitiedostoon helposti komentorivillä
Brian kysyy: "Minun täytyy lisätä rivinumeroita tekstitiedostoon. En tarkoita rivinumeroita tekstieditorissa, tarkoitan numeron lisäämistä jokaisen tekstitiedoston kohteen viereen. Onko tämä mahdollista automatisoida vai pitääkö minun muokata tiedostoa manuaalisesti kirjoittamalla 1, 2, 3 ja tulen hulluksi?"
Kyllä, voit helposti koodata rivinumerot tekstitiedostoon… Näytämme sinulle, kuinka se tehdään! Täysin selväksi, mitä tämä aikoo tehdä, on lisätä laskentarivin numero jokaisen uuden tekstirivin vasemmalle puolelle ja liittää jokaisen rivin eteen asianmukainen vastaava numero.Tämä koodaa sen tekstitiedostoon, mikä tarkoittaa, että se eroaa vain rivinumeroiden näyttämisestä sovelluksessa, kuten TextWrangler, VIM tai BBEdit.
Aloittaaksesi siirtymällä terminaaliin ja sinun kannattaa tehdä seuraava komentorivikehotteessa:
Kissan käyttäminen rivinumeroiden lisäämiseen tekstitiedostoon
Tämä on ylivoimaisesti helpoin tapa: cat -n file > file_new
Vaihda vain "file" sen tiedoston nimellä, johon haluat lisätä rivinumeroita, ja muuta "file_name" vietyksi nimeksi.
Voit myös käyttää 'nl'-komentoa seuraavassa kuvatulla tavalla:
Kovat rivinumerot tekstitiedostoon nl-komennolla
Vaihda uudelleen "filename" ja "filenamenumbered" sen tiedoston oikealla nimellä, johon lisäät rivinumeroita:
nl -ba -s ': ' tiedostonimi > filenamenumbered
Siinä kaikki! Voit käyttää kumpaa tahansa temppua. Useat lukijat huusivat kommenteissa tarjotakseen helpompia ratkaisuja tekstitiedoston rivien numerointiin. Ne on lueteltu yllä yksinkertaisuuden vuoksi, mutta tarjoamme myös "awk"-ratkaisun alla.
-
Voit myös käyttää komentorivityökalua 'awk', mutta se on hieman monimutkaisempi kuin yllä mainitut menetelmät, jos olet kiinnostunut käynnistä terminaali ja mennään.
Varmista ensin varmuuskopioi tekstitiedostosi siinä tapauksessa, että jokin menee pieleen (kuten syntaksivirhe). Nyt kun olet tehnyt varmuuskopion kyseisestä tekstitiedostosta, kirjoitetaan rivinumerot suoraan siihen:
"awk &39;{printf(%5d : %s\n, NR, $0)}&39; filename > filenamenumbered "
filename on alkuperäinen tiedosto, ja filenamenumbered on se, mitä haluat kutsua awk-komennon tulosteeksi, johon on liitetty rivinumeroita. Tulostetekstiasiakirjassasi on nyt numero ja kaksoispiste ennen jokaista rivikohtaa:
1: rivi sanoilla 2: rivi sanoilla 3: rivi sanoilla
Alkuperäisen tekstitiedoston tulee olla ennallaan, mutta jos teit syntaksivirheen, tekemäsi varmuuskopiotiedosto pelastaa päiväsi. Tämä komento toimii kaikissa Unix-käyttöjärjestelmissä, joissa on awk-tuki, joten voit suorittaa tämän komennon FreeBSD:ssä, Linuxissa, Mac OS X:ssä tai missä tahansa muussa versiossa, jota ajattelet.