Frage

    

Diese Frage bereits eine Antwort hier:

    
            
  •              Extract String in heftigen Schlag                                      20 Antworten                          
  •     
    

Ich möchte ein Linux-Befehl zu finden, die einen Teil der Zeichenfolge zurückgeben kann. In den meisten Programmiersprachen, es ist die substr() Funktion. Hat bash jeden Befehl, die für diesen Zweck verwendet werden kann. Ich möchte in der Lage sein, so etwas zu tun ... substr "abcdefg" 2 3 -. druckt cde


Im Anschluss ähnliche Frage:

War es hilfreich?

Lösung

Wenn Sie einen Shell-Dienstprogramm suchen, so etwas zu tun, können Sie den cut Befehl verwenden.

Ihr Beispiel nehmen, versuchen Sie:

echo "abcdefg" | cut -c3-5

was ergibt

cde

Wo -cN-M erzählt den Schnittbefehl Spalten zurück N M, inklusive.

Andere Tipps

Von der bash manpage:

${parameter:offset}
${parameter:offset:length}
        Substring  Expansion.   Expands  to  up  to length characters of
        parameter starting at the character  specified  by  offset.
[...]

Oder, wenn Sie nicht sicher sind, bash zu haben, betrachten cut verwendet wird.

expr(1) hat eine substr subcommand:

expr substr <string> <start-index> <length>

Dies kann nützlich sein, wenn Sie bash nicht haben (vielleicht Embedded Linux) und Sie nicht wollen, die extra „echo“ -Prozess Sie müssen Schnitt verwenden (1).

${string:position:length}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top