Adăugați cu ușurință numere de linie la un fișier text cu linia de comandă
Brian întreabă: „Trebuie să adaug numere de rând la un fișier text. Nu mă refer la numerele de rând în editorul de text, mă refer la adăugarea unui număr lângă fiecare articol dintr-un fișier text. Este posibil să automatizez sau trebuie să editez manual fișierul tastând 1, 2, 3 și devin nebun?”
Da, puteți codifica cu ușurință numerele de linii într-un fișier text... vă vom arăta exact cum să faceți acest lucru! Pentru a fi complet clar, ceea ce va face este să adăugați un număr de linie de numărare în partea stângă a fiecărei linii noi de text, prefixând fiecare linie cu numărul corespunzător.Acest lucru îl codifică în fișierul text, ceea ce înseamnă că este diferit de simpla afișare a numerelor de rând într-o aplicație precum TextWrangler, VIM sau BBEdit.
Pentru a începe, ajungeți la Terminal și veți dori să faceți următoarele la promptul liniei de comandă:
Folosirea pisicii pentru a adăuga numere de linie la un fișier text
Aceasta este de departe cea mai ușoară metodă: cat -n fișier > fișier_nou
Pur și simplu înlocuiți „fișier” cu numele fișierului la care doriți să adăugați numere de linie și schimbați „nume_fișier” cu numele exportat.
De asemenea, puteți utiliza comanda „nl” așa cum este descris în continuare:
Numere de linie de bază rigidă într-un fișier text folosind comanda nl
Din nou, înlocuiți „filename” și „filenamenumbered” cu numele corespunzător al fișierului la care adăugați numere de rând:
nl -ba -s ': ' nume de fișier > nume de fișier numerotat
Cam despre asta e! Puteți folosi oricare truc. Mai mulți cititori au răspuns în comentarii pentru a oferi soluții mai ușoare la numerotarea liniilor dintr-un fișier text. Ele au fost enumerate mai sus în ordinea simplității, dar vom oferi și mai jos o soluție „incomodă”.
-
Puteți folosi și instrumentul de linie de comandă „awk”, dar este puțin mai complex decât metodele menționate mai sus, dacă sunteți interesat lansați Terminalul și plecăm.
În primul rând, asigurați-vă că faceți o copie de rezervă a fișierului text în cazul ciudat, ceva nu merge bine (cum ar fi o eroare de sintaxă). Acum că ați făcut o copie de rezervă a fișierului text în cauză, să scriem numerele de rând direct în el:
"awk „{printf(%5d : %s\n, NR, $0)}” nume de fișier > nume de fișier numerotat "
filename este fișierul original, iar filenamenumbered este ceea ce doriți să numiți rezultatul comenzii awk cu numerele de linie atașate. Documentul text de ieșire va avea acum un număr urmat de două puncte înaintea fiecărui element rând:
1: rând cu cuvintele 2: rând cu cuvintele 3: rând cu cuvintele
Fișierul text original ar trebui să rămână neschimbat, dar dacă ați făcut o eroare de sintaxă, fișierul de rezervă pe care l-ați creat vă va salva ziua. Această comandă va funcționa în orice sistem de operare Unix care are suport awk, așa că nu ezitați să rulați această comandă în FreeBSD, Linux, Mac OS X sau orice altă variantă la care vă puteți gândi.