Hvordan fjerne siste n tegn fra en streng i bash

Hvordan fjerne siste n tegn fra en streng i bash
Bash er et populært skallskriptspråk som er mye brukt i Linux og UNIX-baserte operativsystemer. En av de vanlige oppgavene i bashskripting er å manipulere strenger. Noen ganger blir det nødvendig å fjerne de siste N -tegnene fra en streng. Denne artikkelen vil gå gjennom flere bash -metoder for å fjerne de endelige N -tegnene fra en streng.

Hvordan fjerne siste n tegn fra en streng i bash

I bash kan trimming etterfølgende rom fra brukerinnganger eller fjerne de endelige N -tegnene fra en streng, brukes til å rydde opp filnavn med uønskede utvidelser:

  • Ved hjelp av Cut Command
  • Bruke SED -kommando
  • Ved hjelp av parameterutvidelse

Metode 1: Bruke Cut Command

Cut -kommandoen i bash brukes til å trekke ut seksjoner fra hver linje i en fil. Det kan også brukes til å trekke ut et bestemt utvalg av tegn fra en streng. For å fjerne de siste N -tegnene fra en streng, kan vi bruke Cut -kommandoen med -c -alternativet, og her er syntaks:

ekko "String" | kutt -c -n

Her er strengen den faktiske strengen vi ønsker å fjerne de siste N -tegnene fra, og N er antall tegn vi ønsker å fjerne, nedenfor er eksemplet som bruker syntaks ovenfor:

#!/bin/bash
String = "Hei Linux"
ekko "$ streng" | kutt -c -5

I eksemplet ovenfor har vi brukt CUT -kommandoen for å fjerne de 6 siste tegnene fra strengen “Hello Linux”, og utgangen er “Hello”.

Metode 2: Bruke SED -kommando

SED er en kraftig strømredaktør som kan brukes til å utføre forskjellige teksttransformasjoner på en fil eller en strøm av inngang. For å fjerne de siste N -tegnene fra en streng ved hjelp av SED, kan vi bruke følgende kommandosyntax:

ekko "String" | sed 's/.\ n \ $ // '

Her er n antall tegn vi ønsker å fjerne fra enden av strengen, og nedenfor er et eksempel som bruker SED -kommandoen:

#!/bin/bash
String = "Hei Linux"
ekko "$ streng" | sed 's/.\ 6 \ $ // '

I eksemplet ovenfor har vi brukt SED -kommandoen for å fjerne de 6 siste tegnene fra strengen “Hello Linux”, og utgangen er “Hello”.

Metode 3: Bruke parameterutvidelse

Parameterutvidelse er en funksjon i bash som lar oss manipulere verdien av en variabel. For å fjerne de siste N -tegnene fra en streng ved hjelp av parameterutvidelse, kan vi bruke følgende syntaks:

$ String ::-n

Her inneholder strengvariabelen den faktiske strengen vi ønsker å fjerne de siste N -tegnene fra, og N er antall tegn vi ønsker å fjerne.

#!/bin/bash
String = "Hei Linux"
ekko $ String ::-6

I eksemplet ovenfor har vi brukt parameterutvidelse for å fjerne de fire siste tegnene fra strengen “Hello Linux” og utgangen er “Hello”.

Konklusjon

For å fjerne de siste N -tegnene fra en streng i bash, er Cut -kommandoen, SED -kommandoen og parameterutvidelsen de tre måtene. Disse metodene er enkle å bruke og kan være nyttige i forskjellige bash -skriptoppgaver. Ved å bruke disse metodene kan vi enkelt manipulere strenger og utføre teksttransformasjoner i bash.