Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [gelöst] Dateigröße von ls -l ermitteln

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    [gelöst] Dateigröße von ls -l ermitteln

    This topic has been deleted. Only users with topic management privileges can see it.
    • R
      Rookie50 last edited by Rookie50

      Hi,

      ich bin gerade damit beschäftigt, meinen Roborock S50 für mehrere Etagen fit zu machen. Dafür habe ich die entsprechenden Karten gespeichert und pro Etage eine Datei erzeugt, damit ich prüfen kann welche Etage geladen ist. Die Prüfung mache ich mit einen "ls -l" und checke welche Datei da ist. Nun kommt es aber vor, dass der Robby mal mit dem Hardware Knopf gestartet wird und die Karte neu erzeugt wird.
      Dies kann man an der Größe der Datei "last_map" erkennen.

      Nun zu meinem Problem: Ich habe die Ausgabe es "ls -l" in einem Datenpunkt:

      total 904-rw-r--r--   1 root root     43 Sep 26 08:35 ChargerPos.data-rw-r--r--   1 root root   5682 Sep 26 08:27 PersistData_1.data-rw-r--r--   1 root root   5628 Sep 26 08:00 PersistData_2.data-rw-r--r--   1 root root    378 Sep 26 08:35 RoboController.cfg-rw-r--r--   1 root root     73 Sep 26 08:36 Rotater.cfg-rw-r--r--   1 root root     44 Sep 26 08:35 StartPos.data-rw-r--r--   1 root root    289 Sep 26 08:00 Update.pkg.inf-rw-r--r--   1 root root 141412 Sep 26 08:27 appproxy.map-rw-r--r--   1 root root    149 Sep 26 08:00 apptimer.cfg-rw-r--r--   1 root root     26 Sep 26 08:00 country_infodrwxr-xr-x   2 root root   4096 Sep  9 14:00 devtest-rw-r--r--   1 root root      1 Sep 26 08:00 lab.cfg-rw-r--r--   1 root root 564664 Sep 26 08:27 last_map-rw-r--r--   1 root root     46 Sep 26 08:01 lds_info.txt-rw-r--r--   1 root root    388 Sep 26 08:00 localtimedrwxr-xr-x   2 root root   4096 Sep  8 19:15 mapdrwxr-xr-x   2 root root   4096 Sep  9 14:00 noupload-rw-r--r--   1 root root      0 Sep 26 08:00 ogeschoss-rw-r--r--   1 root root 100352 Sep 26 08:27 robot.dbdrwxr-xr-x 205 root root  28672 Sep 26 08:27 rrlog-rw-r--r--   1 root root     82 Sep 26 08:00 slam_info.cfgdrwxr-xr-x   2 root root   4096 Sep  9 14:14 sounds-rw-r--r--   1 root root     13 Sep 26 08:00 timezone
      

      Nun würde ich gerne die Dateigröße der "last_map" in eine Variable oder einen Datenpunkt schreiben. Damit man überprüfen kann, ob es sich immer noch um die richtige Karte handelt. Wie kann ich das aus dem Text mittels Script filtern?

      Danke schon mal für Eure Unterstützung

      Gruß

      Robert

      liv-in-sky paul53 2 Replies Last reply Reply Quote 0
      • liv-in-sky
        liv-in-sky @Rookie50 last edited by liv-in-sky

        @Rookie50 mit dem befehl du müßte das funktionieren

        Image 4.png

        R 1 Reply Last reply Reply Quote 0
        • R
          Rookie50 @liv-in-sky last edited by

          @liv-in-sky Danke für den Vorschlag, dass ist zwar ein anderer Ansatz und ich muss 2 verschiede Befehle auf den Robby machen, aber es sollte seinen Zweck erfüllen.

          Wenn alles läuft werde ich mich melden.

          Gruß

          Robert

          liv-in-sky 1 Reply Last reply Reply Quote 0
          • liv-in-sky
            liv-in-sky @Rookie50 last edited by liv-in-sky

            @Rookie50 was brauchst du genau - einen ls befehl der immer die größe mit angibt ? hab das ganze noch nicht gecheckt - beschreib doch nochmal -

            ls -l | grep README.md | awk '{print $5}'
            

            zeigt halt immer die größe dieser datei (README.md) an

            Image 7.png

            oder möchtest du wissen, wie du die variable in einen datenpunkt schreibst?

            1 Reply Last reply Reply Quote 0
            • R
              Rookie50 last edited by

              Ich schreibe die Ausgabe von ls -l in einen Datenpunkt. Diesen Datenpunkt wollte ich nun zerlegen und die Größe der Datei last_map ermitteln und in einen neuen Datenpunkt oder eine Variable schreiben. Das ist alles 😉

              Gruß

              Robert

              liv-in-sky 2 Replies Last reply Reply Quote 0
              • liv-in-sky
                liv-in-sky @Rookie50 last edited by

                @Rookie50 dass geht mit dem letzten post auch - ist einfacher als die daten nochmal mit einem javascript zu zerlegen - dazu müßtest du wohl über regex gehen und den "string" durchsuchen

                meiner meinung nach ist eine zweite "ls" oder eine "du" abfrage definitiv einfacher

                1 Reply Last reply Reply Quote 0
                • paul53
                  paul53 @Rookie50 last edited by paul53

                  @Rookie50 sagte:

                  Ausgabe von "ls -l" in einem Datenpunkt:

                  Sind die Zeilenumbrüche nicht mehr vorhanden oder nur nicht zu sehen ?

                  1 Reply Last reply Reply Quote 0
                  • liv-in-sky
                    liv-in-sky @Rookie50 last edited by

                    @Rookie50 mit den daten die du gepstet hast ginge dieses blockly - aber paul53 hat wahrscheinlich eine schnellere lösung

                    Image 9.png

                    1 Reply Last reply Reply Quote 1
                    • R
                      Rookie50 last edited by

                      @paul53 said in Dateigröße von ls -l ermitteln:

                      Zeilenumbrüche nicht mehr vorhanden oder

                      Die scheinen nicht mehr da zu sein, wenn ich es in einen editor kopiere ist es eine Zeile 😞

                      paul53 1 Reply Last reply Reply Quote 0
                      • paul53
                        paul53 @Rookie50 last edited by

                        @Rookie50 sagte:

                        ist es eine Zeile

                        Dann versuche es mal so:

                        const idLs = '...';
                        const idSize = '...';
                        
                        var txt = getState(idLs).val;
                        var pos = txt.indexOf('last_map');
                        txt = txt.substring(0, pos + 8);
                        var arr = txt.split(' ');
                        pos = arr.indexOf('last_map');
                        setState(idSize, parseInt(arr[pos - 4]), true);
                        
                        1 Reply Last reply Reply Quote 1
                        • R
                          Rookie50 last edited by

                          Vielen Dank an Euch, ich habe den Ansatz von @liv-in-sky verfolgt und es wie folgt gelöst:

                          76343a31-0fb8-46e9-9a6f-479e2ae6d217-image.png

                          Jetzt habe ich die Größe der Datei in einem Datenpunkt stehen und den weiter verarbeiten.

                          liv-in-sky 1 Reply Last reply Reply Quote 0
                          • liv-in-sky
                            liv-in-sky @Rookie50 last edited by

                            @Rookie50 bin mir nicht sicher aber ich glaube statt den "aktualisiere" blockly's wäre "steuere" besser - vielleicht kann @paul53 das bestätigen oder negieren

                            paul53 1 Reply Last reply Reply Quote 1
                            • paul53
                              paul53 @liv-in-sky last edited by

                              @liv-in-sky sagte:

                              statt den "aktualisiere" blockly's wäre "steuere" besser

                              Nein, da der Wert nicht gesendet, sondern nur angezeigt wird, ist "aktualisiere" korrekt.

                              1 Reply Last reply Reply Quote 1
                              • R
                                Rookie50 last edited by

                                👍 Ihr seit spitze 😄

                                1 Reply Last reply Reply Quote 0
                                • First post
                                  Last post

                                Support us

                                ioBroker
                                Community Adapters
                                Donate

                                655
                                Online

                                31.8k
                                Users

                                79.9k
                                Topics

                                1.3m
                                Posts

                                javascript
                                3
                                14
                                677
                                Loading More Posts
                                • Oldest to Newest
                                • Newest to Oldest
                                • Most Votes
                                Reply
                                • Reply as topic
                                Log in to reply
                                Community
                                Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                The ioBroker Community 2014-2023
                                logo