Bash Ausgabe beim Leerzeichen teilen und in Variable schreiben

  • Hallo,
    ich bin gerade dabei ein Backup Programm zu schreiben. Dabei soll auch ein Eintrag in die DB gemacht werden, mit Größe, Dauer, Start- und Endzeit
    Ich lasse mir mit

    Code
    size=$(du -h --apparent-size Backup_${NOW})

    die Größe des Verzeichnisses ausgeben in dem die Backupdaten gesammelt wurden.
    dabei ist aber die Ausgabe

    Code
    xxx@rpi:/431K Backup_2016_04_24_16_06_00

    ich brauche aber nur "431K" und nicht das was dahinter noch folgt..
    Kann mir jemand helfen?

  • Bash Ausgabe beim Leerzeichen teilen und in Variable schreiben? Schau mal ob du hier fündig wirst!

  • Jedes durch Leerzeichen getrennte Wort usw betrachtet man als Parameter bzw Argument. Um anhand eines Leerzeichens die einzelnen Argumente unterschieden zu können gibt es in bash mehrere Hilfmittel die man mit einer Pipe (|) anwendet. Bei einer Pipe wird die Ausgabe des vorherigen Befehls an den nachfolgenden übergeben.

    Auszug aus den Möglichkeiten:

    • Mithilfe des Befehls cut

      Code
      echo a b c d | cut -d' ' -f2


      Ausgabe: b
      -d steht hierbei für delimiter also Trennzeichen und -f steht für field specifier.

    • Mithilfe des Befehls awk

      Code
      echo a b c d | awk '{print $2}'


      Ausgabe: b
      awk ist ein äußerst mächtiges Tool


    Siehe dazu auch Google Suche nach: bash text processing

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!