Føj nemt linjenumre til en tekstfil med kommandolinjen
Brian spørger: "Jeg skal tilføje linjenumre til en tekstfil. Jeg mener ikke linjenumre i teksteditoren, jeg mener at tilføje et tal ud for hvert element i en tekstfil. Er dette muligt at automatisere, eller skal jeg manuelt redigere filen ved at skrive 1, 2, 3 og blive sindssyg?”
Ja, du kan nemt hardkode linjenumre til en tekstfil ... vi viser dig præcis, hvordan du gør det! For at være helt klar, hvad dette kommer til at gøre, er at tilføje et tællelinjenummer til venstre side af hver ny tekstlinje, og præfiksere hver linje med det tilsvarende tilsvarende tal.Dette koder det ind i tekstfilen, hvilket betyder, at det er anderledes end blot at vise linjenumre i en app som TextWrangler, VIM eller BBEdit.
For at komme i gang skal du gå til Terminal, og du vil gøre følgende ved kommandolinjeprompten:
Brug af kat til at tilføje linjenumre til en tekstfil
Dette er langt den nemmeste metode: cat -n file > file_new
Bare udskift "fil" med det filnavn, du vil tilføje linjenumre til, og skift "fil_navn" til det eksporterede navn.
Du kan også bruge 'nl'-kommandoen som beskrevet næste:
Hårde kernelinjenumre i en tekstfil ved hjælp af nl-kommando
Igen skal du erstatte "filnavn" og "filnavnnummereret" med det passende navn på den fil, du tilføjer linjenumre til:
nl -ba -s ': ' filnavn > filnavnnummereret
Det er alt, hvad der skal til! Du kan bruge begge tricks. Flere læsere kimede ind i kommentarerne for at give nemmere løsninger på nummerering af linjer i en tekstfil. De blev anført ovenfor i rækkefølge efter enkelhed, men vi tilbyder også en "akavet" løsning nedenfor.
-
Du kan også bruge kommandolinjeværktøjet 'awk', men det er lidt mere komplekst end metoderne nævnt ovenfor, hvis du er interesseret, start terminalen, og så går vi.
Først skal du sørge for at sikkerhedskopiere din tekstfil, hvis noget går g alt (som en syntaksfejl). Nu hvor du har lavet en sikkerhedskopi af den pågældende tekstfil, lad os skrive linjenumre direkte ind i den:
"awk &39;{printf(%5d : %s\n, NR, $0)}&39; filnavn > filnavnnummereret "
filnavn er den originale fil, og filnavnnummereret er, hvad du vil kalde outputtet af awk-kommandoen med linjenumre knyttet til det. Dit output tekstdokument vil nu have et tal efterfulgt af et kolon før hver linjepost:
1: linje med ord 2: linje med ord 3: linje med ord
Din originale tekstfil skulle være uændret, men hvis du lavede en syntaksfejl, vil den backupfil, du lavede, redde din dag. Denne kommando vil fungere i ethvert Unix-operativsystem, der har awk-understøttelse, så du er velkommen til at køre denne kommando i FreeBSD, Linux, Mac OS X eller hvilken som helst anden variant du kan tænke på.