Bash Noņemiet pēdējās x rakstzīmes no virknes

Bash Remove Last X Characters From String



Dažreiz var nākties izdzēst burtus no virknes. Jebkurā gadījumā Linux ietver vairākus iebūvētus, noderīgus rīkus burtu noņemšanai no šāda teksta Bash. Šis raksts parāda, kā dzēst burtus no virknes, izmantojot šīs metodes. Šajā rakstā instrukcijas tika izpildītas, izmantojot Ubuntu 20.04 Focal Fossa. Tādas pašas instrukcijas var izpildīt jebkurā Linux sistēmā, kurā ir instalētas iepriekš minētās utilītas. Lai izpildītu norādījumus, mēs izmantosim parasto termināli. Ctrl+Alt+T saīsne atvērs rīku Terminal.

Metode 01: apakšvirkņu veids

Mūsu pirmā metode burtu vai rakstzīmju noņemšanai no virknes ir vairāk kā apakšvirknes izveide no sākotnējās. Tikmēr terminālis jau ir atvērts; mēs izveidosim bash failu, lai pievienotu mūsu bash kodu. Lai mēs tajā varētu noņemt rakstzīmes vai apakšvirknes. Tātad, mēs esam izmantojuši savā apvalkā iebūvēto pieskāriena instrukciju, lai izveidotu bash failu.









Tā kā fails ir ātri ģenerēts Ubuntu 20.04 mājas mapē, atveriet to redaktorā, lai to rediģētu. Tātad, mēs izvēlamies GNU redaktoru, lai atvērtu failu.sh dokumentu, kā norādīts zemāk.







Nokopējiet tajā zemāk redzamo kodu. Šis kods sākumā satur bash paplašinājumu, un pēc tam mēs esam deklarējuši virknes mainīgo val ar virknes vērtību. Otrajā rindā mēs izmantojam atbalss frāzi, lai parādītu šo mainīgo terminālī. Patiesais uzdevums sākas no šejienes. Mēs esam inicializējuši mainīgo jaunu un piešķīruši tam vērtību, kas ir sākotnējā mainīgā val. Mēs to esam izdarījuši, iekavās pēc dubultās kolonas minot -14. Tas kompilatoram norāda, ka tam ir jānoņem pēdējie 14 burti no sākotnējās virknes FirstWorldCountries. Atlikušie burti tiks saglabāti mainīgajā new. Pēdējā rindiņā atbalss tika izmantota, lai drukātu jauno mainīgo jaunu.



Pareiza faila file.sh izpilde, izmantojot komandu bash, iznāk, kā paredzēts. Pirmkārt, tas parāda pirmā virknes mainīgā vērtību val, un pēc tam parāda jaunizveidotās virknes vērtību no pirmā mainīgā atbilstoši parādītajai izvadei.

02 metode: īpašu simbolu izmantošana

Vēl viena vienkārša un vienkāršāka metode pēdējo burtu vai rakstzīmju noņemšanai no jebkuras virknes ir, izmantojot īpašos simbolus vai rakstzīmes, piemēram, procentus un jautājuma zīmes simbolus. Tātad, šoreiz mēs izmantosim procentus un jautājuma zīmi, lai noņemtu rakstzīmes no jebkuras virknes. Tādējādi mēs jau esam atvēruši to pašu failu, lai atjauninātu bash skriptu, izmantojot GNU Nano redaktoru. Kopumā kods ir vienāds, taču mainīgā jaunā daļa ir nedaudz atšķirīga. Mēs esam izmantojuši procentu zīmi, lai informētu sistēmu, ka minētie jautājuma zīmju skaitļi apzīmē rakstzīmju skaitu no mainīgā val, kas jānoņem pēc šīs procentuālās zīmes. Jūs varat redzēt, ka esam pievienojuši 9 jautājuma zīmes simbolus. Tas nozīmē, ka pēdējās 9 rakstzīmes no virknes FirstWorldCountries tiks noņemtas, bet atlikušā virkne būs FirstWorld. Šī atlikušā virkne tiks saglabāta jaunā mainīgajā.

Kad esam izpildījuši atjaunināto bash failu, iznākums ir tāds, kā paredzēts. Tas parāda sākotnējo virkni no pirmā mainīgā un otrā mainīgā vērtību, kas ir izveidota no mainīgā val.

03 metode: Sed izmantošana

Sed ir noderīgs un efektīvs rīks teksta secību maiņai. Tā ir neinteraktīva izstrādes vide, kas ļauj strādāt ar datu ievadi un veikt vienkāršas teksta pārveidošanas. Varat arī izmantot sed, lai izdzēstu burtus no tekstiem, kurus nevēlaties. Mēs izmantosim virknes piemēru un ievirzīsim to komandā sed ilustrācijas nolūkos. Jūs varat izdzēst noteiktu rakstzīmi no kāda veida virknes ar sed. Tātad atbalss paziņojumā esam izmantojuši vienkāršu virknes līniju. Mēs esam izmantojuši sed, lai noņemtu burtu A no minētās virknes. Noteikti ievērojiet sintaksi “s/string_to_be_removed //”. Rezultātā redzams, ka burts A ir noņemts.

Lai noņemtu visu vārdu Aqsa, mēs esam minējuši vārda pirmo un pēdējo rakstzīmi ar punktiem, kas norāda trūkstošos burtus. Izvade parāda virkni ar vārda Aqsa noņemšanu.

Lai no virknes noņemtu jebkuru pēdējo rakstzīmju skaitu, pirms dolāra simbola norādiet punktu skaitu atbilstoši jūsu prasībām.

04 metode: izmantojot Awk

Awk ir sarežģīta skriptu valoda, ko var izmantot, lai saskaņotu modeļus un apstrādātu tekstus. Varat izmantot Awk, lai mainītu un mainītu ievadi dažādos veidos. Varat arī izdzēst burtus no virknēm, izmantojot awk. Awk šķiet nedaudz atšķirīgs no sed. Šoreiz mēs esam nomainījuši virkni ar Aqsa Yasin. Funkcija awk izveidos apakšvirkni, izmantojot substr metodi, un izdrukās to terminālī. Funkcijas garums ir izmantots, lai parādītu no minētās virknes noņemto burtu skaitu. Šeit garums (0 ASV dolāri) -5 nozīmē noņemt virknes pēdējās 5 rakstzīmes, bet atlikušais būs daļa no apakšvirknes, kas tiks izdrukāta.

Mēs esam mēģinājuši noņemt pēdējās 9 rakstzīmes no virknes Aqsa Yasin un ieguvuši A kā izvades apakšvirkni.

5. metode: griezuma izmantošana

Izgriezums, šķiet, ir komandrindas utilīta, lai no šādas frāzes vai dokumenta iegūtu teksta daļu un izdrukātu to standarta izvadē. Šo darbību var izmantot arī, lai noņemtu burtus no kāda veida virknes. Mēs izmantosim frāzes piemēru un nodosim to griezuma instrukcijai testēšanas nolūkos. Tātad mēs esam izmantojuši frāzi Aqsa Yasin un nodevuši to izgriešanas vaicājumam. Pēc karoga –c mēs esam definējuši virknes indeksu diapazonu, lai izgrieztu rakstzīmes no minētās virknes. Tas parādīs rakstzīmes no indeksa 1 līdz indeksam 5. Indekss 5 šeit ir izslēgts. Rezultātā pirmās 4 rakstzīmes tiek parādītas kā Aqsa.

Šoreiz griezuma instrukciju izmantosim savādāk. Mēs esam izmantojuši rev funkciju, lai mainītu virkni. Pēc virknes reversa mēs izgriezīsim pirmo rakstzīmi no virknes. Karogs -c2 -nozīmē, ka mūsu apakšvirknei būs turpmākā rakstzīme 2. Pēc tam apgrieztā funkcija atkal tiek izmantota, lai atjaunotu virkni. Tātad, šoreiz mēs saņēmām sākotnējo virkni, noņemot pēdējo rakstzīmi.

Lai noņemtu pēdējās 7 rakstzīmes, jums vienkārši jāpiemin -c7 -griezuma komandā, vienlaikus izmantojot arī reverso funkciju.

Secinājums:

Ir laiks vairāk nekā vienai metodei, lai Linux veiktu pamatuzdevumu. Līdzīgi ir iespējams izdzēst rakstzīmes no teksta. Šajā rakstā tika parādītas piecas atšķirīgas metodes nevēlamu rakstzīmju noņemšanai no virknes, kā arī daži gadījumi. Jebkurš izvēlētais rīks ir pilnībā atkarīgs no jūsu izvēles un, vēl svarīgāk, no tā, ko vēlaties sasniegt.