Bash Fjern siste X -tegn fra strengen?

Bash Fjern siste X -tegn fra strengen?

Det er flere måter eller kommandoer i Linux som vi kan bruke for å fjerne de siste tegnene fra en strengverdi i bash, inkludert "kutt", "sed" "kompliment", "awk" og andre. “%” Og “?”Operatører kan også brukes for å eliminere sluttelementet fra en streng. Ved å bruke kommandoen "kuttet" i bash, kan vi også slette et spesifikt tegn fra en streng som vi ønsker å eliminere. I denne artikkelen vil vi vise en rekke teknikker for å slette elementer fra sekvenser.

Eksempel nr. 1: Fjern de siste tegnene fra en streng i bash

I dette eksemplet vil vi bruke “%” og “?”Symboler i kommandoen for å eliminere de endelige tegnene fra en streng i bash. Før du bruker disse symbolene i kommandoer, vil vi først sørge for at du vet at de vil eliminere de siste tegnene fra strengen og justere antall tegn i henhold til scenariet. Avhengig av hva vi vil eliminere, kan vi kutte strengens siste segmenter på mange måter.

La oss nå begynne å implementere kommandoen for å fjerne de siste tegnene fra en streng og vise standardutgangen i terminalvinduet. Nøkkelordvariabelen vil bli brukt i den første, og listestrengen blir tilordnet den. I bash kan en variabel lagre et tall, et bestemt ord eller et sett med tegn. Du kan konstruere en variabel ved å gi en verdi til referansen uten å måtte erklære den. Hvis du vil lese dataene fra en variabel, må du bruke symbolet “$” før variabelnavnet.

Verdien av strengen vi har er "Jeg elsker programmeringsspråk". Derfor, etter å ha skrevet variabelen, må vi legge til strengen inne i de omvendte kommaene. I kommandoen ga vi ingen plass. I denne linjen inneholder strengen fire ord. Og i dette avsnittet skal vi fjerne det siste ordet "språk". Deretter bruker vi på følgende linje "Echo" -uttalelsen etterfulgt av Dollar -skiltet "$". Inne i Echo bruker vi krøllete parenteser og inne i krøllete parenteser, passerer vi strengen som er lagret i "variabelen" som et argument. Deretter bruker vi symbolet “%” for å fjerne de siste tegnene fra strengen etterfulgt av symbolet “?”For å indikere hvor mange siste karakterer vi vil fjerne. Følgelig vil vi eliminere det ni-bokstavs ordet "språk" fra denne linjen. Så etter prosentsymbolet skriver vi inn ni spørsmålstegn.

Linux@linux: ~ $ variabel = ”iloveprogrammingLanguages”
Linux@linux: ~ $ ekko $ variabel%?????????

Som du kan se på bildet nedenfor, etter å ha kjørt denne kommandoen, presenteres resultatet uten ordet "språk". Den viste strengverdien er nå tre ord "iloveprogramming" Det er ingen plass etter ordene, da det ikke var noen i den gitte verdien.

Nå, i neste avsnitt, vil vi fjerne de første tegnene eller det første ordet fra strengen ved å bruke symbolet “#”, som brukes til å fjerne tegnene fra strengene i begynnelsen. Så for dette kommer vi til å bruke den samme kommandoen. Først passerer vi strengen “Jeg skal til USA” inne i inverterte komma, som er lagret i den opprettede “Variable”. Så, i det følgende trinn, bruker vi “Echo” -kommandoen, inni den bruker vi “$” -symbolet.

Deretter bruker vi krøllete parenteser, inne i disse parentesene siden strengen er lagret der. Så vi passerer "variabelen" og så bruker vi hasj "#" -symbolet. Etter det skriver vi fire “?”Spørsmålmerker, som vil slette de fire første tegnene fra strengen. Her regnes også plass som en karakter.

Linux@linux: ~ $ variabel = ”Jeg skal til USA”
Linux@linux: ~ $ ekko $ variabel#????

Nå som de to første ordene i strengen, "Jeg er", er du fjernet, kan du se i utgangen at den har vist de resterende tre ordene fra uttrykket “Going to USA.”Vi brukte fire spørsmålstegn i output ovenfor fordi det er et mellomrom mellom disse to ordene og rommene blir behandlet som tegn i denne sammenhengen, så totalt er de fjerne tegnene fire.

Eksempel 2: Bruke Bashs parameterutskiftning for å fjerne de siste tegnene fra en streng.

I dette avsnittet vil vi fjerne det siste ordet fra strengen ved å spesifisere lengden i bash. Vi kan bruke "#" -operasjonen for å bestemme lengden på en streng. For å gjøre dette, må vi først pakke inn variabelnavnet i omvendt komma før vi bruker "#" -operasjonen for å bestemme strengens lengde. Følgelig kan vi bestemme lengden på strengvariabelen i UNIX ved å bruke "#" -operatøren.

Nå, i kommandoen, bruker vi først den opprettede "variabelen", og vi passerer verdien av strengen inne i de omvendte kommaene som er "Keep It Up". Det er totalt tre ord i verdien. Deretter, i neste linje, passerer vi parameteren "lengde" og lagrer argumentet "variabel" der verdien av strengen lagres i den, men før vi passerer "variabel" må vi bruke "$" før vi bruker krøllete parenteser Og inne i denne braketten må vi bruke "#" -operatøren.

Deretter, på følgende linje, skriver vi kommandoen "Echo", etterfulgt av Dollar Sign ($), de krøllete parentesene, parameteren "variabel", den doble kolonen ("::"), argumentlengden og den Antall tegn vi trenger å slette, som er to og i form av symbolet “-2”.

Linux@linux: ~ $ variabel = ”fortsett det”
Linux@linux: ~ $ lengde = $ #variabel#
Linux@linux: ~ $ ekko $ variabel:: lengde -2

Fordi vi ga lengden på karakter to, så det slettet de to siste tegnene fra strengen og den viste utgangen inneholdt strengverdien “Keep it”.

Eksempel nr. 3: Bruke CUT -kommandoen

I bash kan Cut -kommandoen brukes til å fjerne visse ord eller tegn fra strenger eller filer. La oss bruke CUT -kommandoen til å gjøre dette. Først, skriv "ekko", deretter bruk inverterte komma for å passere strengverdien "I Love My Mother", og bruk deretter dette barsymbolet "|". Neste, skriv "kuttet", deretter bruk "-c" for å kutte tegnet og gi deretter karakterområdet vi ønsker å vise på utgangen. I dette tilfellet brukte vi området “1 til 10”, som vil vise de ti første tegnene fra strengverdien her, områdene er en del av karakterene.

Linux@linux: ~ $ ekko “Jeg elsker min mor” | kutt -C 1-10

Som du kan se på bildet nedenfor når vi kjører denne kommandoen, viste den bare de opprinnelige tegnene, inkludert mellomrommene, og de gjenværende karakterene, som er de siste ble fjernet. Strengverdiene som inneholder "I Love My" ble vist som et resultat av "1 til 10" -området som vi ga.

Eksempel 4: Bruke SED -kommandoen

I denne delen vil vi bruke “SED” -kommandoen for å eliminere strengens siste tegn. SED -funksjonen har tre hovedapplikasjoner i bashskriptet: å skrive til stdout, slette innhold og endre en bestemt streng. Vi vil bruke den samme kommandoen som i forrige eksempel, men denne gangen vil strengens verdi bli endret til "Jeg elsker koding" uten mellomrom.

Neste, delen etter barsymbolet “|” vil bli endret fordi denne delen bruker “SED” -kommandoen, så skriv “SED” inn i terminalen. Til slutt vil vi bruke det enkeltvendte komma, og innsiden av dette bruker vi “S/.$/”. Dette vil eliminere strengens sluttord. Du kan også fjerne et spesifikt tegn fra strengen ved å erstatte det med "$" i kommandoen at du vil fjerne tegnet fra.

Linux@linux: ~ $ ekko “ilovecoding” | sed 's/.$ // '

Tegnet “G” Den siste karakteren av verdien er fjernet fra utgangen, som nå viser strengverdien “ilovecodin.”

Konklusjon

I denne artikkelen har vi undersøkt hvordan du bruker bash for å eliminere et enkelt tegn fra en linje og hvordan du eliminerer den siste bokstaven fra en gitt streng. Bruker “%” og “?”Operatører, vi eliminerte det siste ordet fra strengen i det første eksemplet. I det andre eksemplet ga vi lengden på karakterene vi ønsket å eliminere fra strengverdien i kommandoen. Da ga vi i det tredje eksemplet antallet tegn vi ønsket å vise ved hjelp av “Cut” -kommandoen og slettet de siste ordene. Til slutt, i den siste delen, dekket vi "SED" -funksjonen.