Hur man tar bort sista n-tecken från en sträng i Bash

Hur Man Tar Bort Sista N Tecken Fran En Strang I Bash



Bash är ett populärt skalskriptspråk som används flitigt i Linux- och Unix-baserade operativsystem. En av de vanligaste uppgifterna i Bash-skript är att manipulera strängar. Ibland blir det nödvändigt att ta bort de sista n tecknen från en sträng. Den här artikeln kommer att gå igenom flera Bash-metoder för att ta bort de sista n tecknen från en sträng.

Hur man tar bort sista n-tecken från en sträng i Bash

I Bash kan trimning av blanksteg från användarinmatningar eller ta bort de sista n tecknen från en sträng användas för att städa upp filnamn med oönskade tillägg:

Metod 1: Använd cut Command

Cut-kommandot i Bash används för att extrahera avsnitt från varje rad i en fil. Den kan också användas för att extrahera ett specifikt teckenintervall från en sträng. För att ta bort de sista n tecknen från en sträng kan vi använda kommandot cut med alternativet -c, och här är syntaxen:







eko 'sträng' | skära -c -n

Här är strängen den faktiska strängen från vilken vi vill ta bort de sista n tecknen, och n är antalet tecken vi vill ta bort, nedan är exemplet som använder ovanstående syntax:



#!/bin/bash

sträng = 'Hej Linux'

eko ' $string ' | skära -c -5

I exemplet ovan har vi använt cut-kommandot för att ta bort de sista 6 tecknen från strängen 'Hello Linux' och utgången är 'Hello'.



  Grafiskt användargränssnitt, text Beskrivning genereras automatiskt





Metod 2: Använd sed Command

Sed är en kraftfull strömredigerare som kan användas för att utföra olika texttransformationer på en fil eller en ström av input. För att ta bort de sista n tecknen från en sträng med sed, kan vi använda följande kommandosyntax:

eko 'sträng' | men 's/.\{n\}$//'

Här är n antalet tecken vi vill ta bort från slutet av strängen, och nedan är ett exempel som använder kommandot sed:



#!/bin/bash

sträng = 'Hej Linux'

eko ' $string ' | men 's/.\{6\}$//'

I exemplet ovan har vi använt sed-kommandot för att ta bort de sista 6 tecknen från strängen 'Hello Linux' och utgången är 'Hello'.

  Grafiskt användargränssnitt, text Beskrivning genereras automatiskt

Metod 3: Använda parameterexpansion

Parameterexpansion är en funktion i Bash som låter oss manipulera värdet på en variabel. För att ta bort de sista n tecknen från en sträng med parameterexpansion kan vi använda följande syntax:

${string::-n}

Här innehåller strängvariabeln den faktiska strängen från vilken vi vill ta bort de sista n tecknen, och n är antalet tecken vi vill ta bort.

#!/bin/bash

sträng = 'Hej Linux'

eko ${string::-6}

I exemplet ovan har vi använt parameterexpansion för att ta bort de sista 4 tecknen från strängen 'Hello Linux' och utgången är 'Hello'.

  Grafiskt användargränssnitt, text Beskrivning genereras automatiskt

Slutsats

För att ta bort de sista n tecknen från en sträng i bash, är cut-kommandot, sed-kommandot och parameterexpansion de tre sätten. Dessa metoder är enkla att använda och kan vara till hjälp i olika Bash-skriptuppgifter. Genom att använda dessa metoder kan vi enkelt manipulera strängar och utföra texttransformationer i Bash.