Sådan fjerner du sidste n-tegn fra en streng i Bash
I Bash kan trimning af bagerste mellemrum fra brugerinput eller fjernelse af de sidste n tegn fra en streng bruges til at rydde op i filnavne med uønskede udvidelser:
Metode 1: Brug cut Command
Cut-kommandoen i Bash bruges til at udtrække sektioner fra hver linje i en fil. Det kan også bruges til at udtrække et specifikt udvalg af tegn fra en streng. For at fjerne de sidste n tegn fra en streng, kan vi bruge cut-kommandoen med muligheden -c, og her er syntaksen:
ekko 'snor' | skære -c -n
Her er strengen den faktiske streng, som vi vil fjerne de sidste n tegn fra, og n er antallet af tegn, vi vil fjerne, nedenfor er eksemplet, der bruger ovenstående syntaks:
#!/bin/bash
snor = 'Hej Linux'
ekko ' $streng ' | skære -c -5
I ovenstående eksempel har vi brugt cut-kommandoen til at fjerne de sidste 6 tegn fra strengen 'Hello Linux', og outputtet er 'Hello'.
Metode 2: Brug sed Command
Sed er en kraftfuld stream-editor, der kan bruges til at udføre forskellige teksttransformationer på en fil eller en inputstrøm. For at fjerne de sidste n tegn fra en streng ved hjælp af sed, kan vi bruge følgende kommandosyntaks:
ekko 'snor' | men 's/.\{n\}$//'Her er n antallet af tegn, vi ønsker at fjerne fra slutningen af strengen, og nedenfor er et eksempel, der bruger sed-kommandoen:
#!/bin/bash
snor = 'Hej Linux'
ekko ' $streng ' | men 's/.\{6\}$//'
I ovenstående eksempel har vi brugt sed-kommandoen til at fjerne de sidste 6 tegn fra strengen 'Hello Linux', og outputtet er 'Hello'.
Metode 3: Brug af parameterudvidelse
Parameterudvidelse er en funktion i Bash, der giver os mulighed for at manipulere værdien af en variabel. For at fjerne de sidste n tegn fra en streng ved hjælp af parameterudvidelse, kan vi bruge følgende syntaks:
${string::-n}Her indeholder strengvariablen den aktuelle streng, som vi ønsker at fjerne de sidste n tegn fra, og n er antallet af tegn, vi ønsker at fjerne.
#!/bin/bashsnor = 'Hej Linux'
ekko ${string::-6}
I ovenstående eksempel har vi brugt parameterudvidelse til at fjerne de sidste 4 tegn fra strengen 'Hello Linux', og outputtet er 'Hello'.
Konklusion
For at fjerne de sidste n tegn fra en streng i bash, er cut-kommandoen, sed-kommandoen og parameterudvidelsen de tre måder. Disse metoder er nemme at bruge og kan være nyttige i forskellige Bash scripting opgaver. Ved at bruge disse metoder kan vi nemt manipulere strenge og udføre teksttransformationer i Bash.