Legg til linjenumre enkelt i en tekstfil med kommandolinjen
Brian spør: «Jeg må legge til linjenumre i en tekstfil. Jeg mener ikke linjenumre i tekstredigereren, jeg mener å legge til et tall ved siden av hvert element i en tekstfil. Er dette mulig å automatisere, eller må jeg manuelt redigere filen ved å skrive 1, 2, 3 og bli gal?"
Ja, du kan enkelt hardkode linjenumre til en tekstfil ... vi viser deg nøyaktig hvordan du gjør det! For å være helt klar, hva dette kommer til å gjøre er å legge til et tellende linjenummer på venstre side av hver ny tekstlinje, og prefiksere hver linje med riktig tilsvarende nummer.Dette koder den inn i tekstfilen, noe som betyr at den er forskjellig fra bare å vise linjenumre i en app som TextWrangler, VIM eller BBEdit.
For å komme i gang, gå til terminalen og du vil gjøre følgende ved ledeteksten:
Using cat for å legge til linjenumre i en tekstfil
Dette er den desidert enkleste metoden: cat -n file > file_new
Bare erstatt "fil" med filnavnet du vil legge til linjenumre i, og endre "filnavn" til det eksporterte navnet.
Du kan også bruke 'nl'-kommandoen som beskrevet neste:
Harde linjenumre til en tekstfil ved å bruke nl-kommandoen
Igjen, erstatt "filnavn" og "filnavnnummerert" med det riktige navnet på filen du legger til linjenumre i:
nl -ba -s ': ' filnavn > filnavnnummerert
Det er alt som skal til! Du kan bruke begge triksene. Flere lesere kimet inn kommentarene for å gi enklere løsninger på nummerering av linjer i en tekstfil. De ble listet opp ovenfor i enkel rekkefølge, men vi tilbyr også en «aukentlig» løsning nedenfor.
-
Du kan også bruke kommandolinjeverktøyet 'awk', men det er litt mer komplekst enn metodene nevnt ovenfor, hvis du er interessert, start terminalen og så drar vi.
Først, sørg for å sikkerhetskopiere tekstfilen din hvis noe går g alt (som en syntaksfeil). Nå som du har tatt en sikkerhetskopi av den aktuelle tekstfilen, la oss skrive linjenummer direkte inn i den:
"awk &39;{printf(%5d : %s\n, NR, $0)}&39; filnavn > filnavnnummer "
filnavn er originalfilen, og filnavnnummeret er det du vil kalle utdataene til awk-kommandoen med linjenummer knyttet til den. Utdatatekstdokumentet ditt vil nå ha et tall etterfulgt av et kolon før hver linjeelement:
1: linje med ord 2: linje med ord 3: linje med ord
Den opprinnelige tekstfilen din skal være uendret, men hvis du gjorde en syntaksfeil, vil sikkerhetskopifilen du har laget, redde dagen. Denne kommandoen vil fungere i alle Unix OS som har awk-støtte, så kjør gjerne denne kommandoen i FreeBSD, Linux, Mac OS X, eller hvilken som helst annen variant du kan tenke deg.