Lägg enkelt till radnummer i en textfil med kommandoraden

Anonim

Brian frågar: "Jag måste lägga till radnummer i en textfil. Jag menar inte radnummer i textredigeraren, jag menar att lägga till ett nummer bredvid varje objekt i en textfil. Är detta möjligt att automatisera eller måste jag manuellt redigera filen genom att skriva 1, 2, 3 och blir galen?”

Ja, du kan enkelt hårdkoda radnummer till en textfil... vi visar dig exakt hur du gör! För att vara helt tydlig, vad detta kommer att göra är att lägga till ett räknarradnummer till vänster om varje ny textrad, och prefixet varje rad med motsvarande motsvarande nummer.Detta hårdkodar det i textfilen, vilket betyder att det skiljer sig från att bara visa radnummer i en app som TextWrangler, VIM eller BBEdit.

För att komma igång, gå till terminalen och du vill göra följande vid kommandoraden:

Använda katt för att lägga till radnummer i en textfil

Detta är den i särklass enklaste metoden: cat -n file > file_new

Byt helt enkelt ut "fil" med filnamnet du vill lägga till radnummer till, och ändra "filnamn" till det exporterade namnet.

Du kan också använda kommandot ‘nl’ enligt beskrivningen nedan:

Hårda kärnradsnummer till en textfil med hjälp av nl-kommandot

nl -ba -s ': ' filnamn > filnamnnummer

Det är allt som finns! Du kan använda båda knep. Flera läsare ringde in kommentarerna för att ge enklare lösningar på numrering av rader i en textfil. De listades ovan i enkelhetsordning, men vi kommer också att erbjuda en "tråkig" lösning nedan.

-

Du kan också använda kommandoradsverktyget "awk", men det är lite mer komplext än metoderna som nämns ovan, om du är intresserad, starta terminalen och så kör vi.

Först, se till att säkerhetskopiera din textfil i den udda händelsen något går fel (som ett syntaxfel). Nu när du har gjort en säkerhetskopia av textfilen i fråga, låt oss skriva radnummer direkt i den:

"

awk &39;{printf(%5d : %s\n, NR, $0)}&39; filnamn > filnamnnummer "

filnamn är originalfilen, och filnamnsnumrerad är vad du vill kalla utdata från kommandot awk med radnummer bifogade. Ditt utgående textdokument kommer nu att ha ett nummer följt av ett kolon före varje rad:

1: rad med ord 2: rad med ord 3: rad med ord

Din ursprungliga textfil bör vara oförändrad, men om du gjorde ett syntaxfel kommer säkerhetskopian du gjorde att rädda din dag. Detta kommando kommer att fungera i alla Unix OS som har awk-stöd, så kör gärna detta kommando i FreeBSD, Linux, Mac OS X eller vilken annan variant du kan tänka dig.

Lägg enkelt till radnummer i en textfil med kommandoraden