513 Stimmen

Wie entferne ich die letzten n Zeichen aus einem String in Bash?

Ich habe eine Variable var in einem Bash-Skript, die einen String enthält:

echo $var
"some string.rtf"

Ich möchte die letzten vier Zeichen dieses Strings entfernen und das Ergebnis der neuen Variable var2 zuweisen, so dass

echo $var2
"some string"

Wie kann ich das machen?

7voto

Priya Jain Punkte 795

Ich habe es versucht und es hat für mich funktioniert:

#! /bin/bash

var="hello.c"
length=${#var}
endindex=$(expr $length - 4)
echo ${var:0:$endindex}

Ausgabe: hel

4voto

Saurabh Punkte 6815

Dies hat bei mir funktioniert, indem die Größe des Strings berechnet wurde.
Es ist einfach, Sie müssen den Wert, den Sie zurückgeben möchten, echoen und dann wie unten angegeben speichern.

removechars(){
        var="einige Zeichenfolge.rtf"
        size=${#var}
        echo ${var:0:size-4}  
    }
    removechars
    var2=$?

einige Zeichenfolge

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X