Slik fjerner du siste n-tegn fra en streng i Bash
I Bash kan trimming av etterfølgende mellomrom fra brukerinndata eller fjerning av de siste n tegnene fra en streng brukes til å rydde opp i filnavn med uønskede utvidelser:
Metode 1: Bruk cut Command
Cut-kommandoen i Bash brukes til å trekke ut deler fra hver linje i en fil. Den kan også brukes til å trekke ut et spesifikt utvalg av tegn fra en streng. For å fjerne de siste n tegnene fra en streng, kan vi bruke cut-kommandoen med alternativet -c, og her er syntaksen:
ekko 'streng' | kutte opp -c -n
Her er strengen den faktiske strengen som vi ønsker å fjerne de siste n tegnene fra, og n er antall tegn vi ønsker å fjerne, nedenfor er eksemplet som bruker syntaksen ovenfor:
#!/bin/bash
streng = 'Hei Linux'
ekko ' $string ' | kutte opp -c -5
I eksemplet ovenfor har vi brukt cut-kommandoen for å fjerne de siste 6 tegnene fra strengen 'Hello Linux', og utgangen er 'Hello'.
Metode 2: Bruk sed Command
Sed er en kraftig stream-editor som kan brukes til å utføre ulike teksttransformasjoner på en fil eller en strøm av input. For å fjerne de siste n tegnene fra en streng ved hjelp av sed, kan vi bruke følgende kommandosyntaks:
ekko 'streng' | men 's/.\{n\}$//'Her er n antall tegn vi ønsker å fjerne fra slutten av strengen, og nedenfor er et eksempel som bruker sed-kommandoen:
#!/bin/bash
streng = 'Hei Linux'
ekko ' $string ' | men 's/.\{6\}$//'
I eksemplet ovenfor har vi brukt sed-kommandoen for å fjerne de siste 6 tegnene fra strengen 'Hello Linux' og utdataene er 'Hello'.
Metode 3: Bruk av parameterutvidelse
Parameterutvidelse er en funksjon i Bash som lar oss manipulere verdien til 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 som vi ønsker å fjerne de siste n tegnene fra, og n er antallet tegn vi ønsker å fjerne.
#!/bin/bashstreng = 'Hei Linux'
ekko ${string::-6}
I eksemplet ovenfor har vi brukt parameterutvidelse for å fjerne de siste 4 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 ulike Bash-skriptoppgaver. Ved å bruke disse metodene kan vi enkelt manipulere strenger og utføre teksttransformasjoner i Bash.