Viegli pievienojiet rindiņu numurus teksta failam, izmantojot komandrindu
Braiens jautā: “Man teksta failam jāpievieno rindu numuri. Es nedomāju rindu numurus teksta redaktorā, es domāju skaitļa pievienošanu katram teksta faila vienumam. Vai to ir iespējams automatizēt, vai man ir manuāli jārediģē fails, ierakstot 1, 2, 3 un kļūstot neprātīgs?”
Jā, jūs varat viegli iekodēt rindiņu numurus teksta failā... mēs jums parādīsim, kā to izdarīt! Lai tas būtu pilnīgi skaidrs, katras jaunas teksta rindiņas kreisajā pusē pievienosim skaitīšanas rindas numuru, katras rindas priekšā pievienojot atbilstošo numuru.Tas tiek iekodēts teksta failā, kas nozīmē, ka tas atšķiras no vienkāršas rindu numuru parādīšanas tādās lietotnēs kā TextWrangler, VIM vai BBEdit.
Lai sāktu darbu, atveriet termināli un komandrindas uzvednē vēlēsities veikt šādas darbības:
Kaķa izmantošana rindu numuru pievienošanai teksta failam
Šī ir vienkāršākā metode: cat -n file > file_new
Vienkārši aizstājiet “file” ar faila nosaukumu, kuram vēlaties pievienot rindu numurus, un mainiet “file_name” uz eksportēto nosaukumu.
Varat arī izmantot komandu “nl”, kā aprakstīts tālāk:
Cieto pamatrindu numuri teksta failā, izmantojot nl komandu
Atkal aizstājiet “filename” un “filenamenumbered” ar atbilstošo tā faila nosaukumu, kuram pievienojat rindu numurus:
nl -ba -s ': ' faila nosaukums > filenamenumbered
Tas ir viss! Varat izmantot jebkuru triku. Vairāki lasītāji komentāros izteicās, lai sniegtu vieglākus risinājumus rindiņu numerācijai teksta failā. Tie tika uzskaitīti iepriekš vienkāršības labad, taču mēs piedāvāsim arī “nepatīkamu” risinājumu zemāk.
-
Varat arī izmantot komandrindas rīku “awk”, taču tas ir nedaudz sarežģītāks nekā iepriekš minētās metodes. Ja jūs interesē, palaidiet termināli, un mēs ejam.
Vispirms noteikti dublējiet teksta failu, ja kaut kas noiet greizi (piemēram, sintakses kļūda). Tagad, kad esat izveidojis attiecīgā teksta faila dublējumu, ierakstīsim tajā tieši rindu numurus:
"awk &39;{printf(%5d : %s\n, NR, $0)}&39; faila nosaukums > filenamenumbered "
filename ir oriģinālais fails, un filenamenumbered ir tas, ko vēlaties izsaukt komandas awk izvadei ar pievienotajiem rindu numuriem. Jūsu izvadītā teksta dokumentā tagad pirms katras rindas vienības būs skaitlis, kam sekos kols:
1: rindiņa ar vārdiem 2: rindiņa ar vārdiem 3: rindiņa ar vārdiem
Jūsu sākotnējam teksta failam ir jābūt nemainīgam, taču, ja esat pieļāvis sintakses kļūdu, dublējuma fails ietaupīs jūsu darbu. Šī komanda darbosies jebkurā Unix operētājsistēmā, kurai ir awk atbalsts, tāpēc droši palaidiet šo komandu operētājsistēmā FreeBSD, Linux, Mac OS X vai jebkurā citā variantā, ko varat iedomāties.