Der Code-Schnippsel-Thread

  • es hat sich so gelesen als würde man nur per Konsole effizient arbeiten können, das wollte ich nur wiederlegen, natürlich gebe ich dir Recht das wenn man so etwas nicht oft mach die Konsole ausreicht

    Meine Main Geräte

    Spoiler anzeigen


    Main PC

    MSI X99-pro-Gaming-Carbon
    Intel XEON E5 2630 V4 20 Threads, 36 MB L3 Cache 2,21 Ghz 2,8 Ghz Turbo
    64 GB DDR4 2400 Mhz Quad Channel (8*8GB)
    2* AMD RX 580 8 GB Crossfire X (Pulse Bios 1250 Core 1950 MEM,) (Dual Bios)
    Samsung 960 pro 500 GB NVME @PCIE X4
    Samsung 2 TB SATA III HDD
    Crucial MX 500 1 TB SSD
    Sandisk pro 250 GB SSD
    Soundblaster Z @PCIE x2
    NEC USB 3.1 COntroller Card @ PCIE x2
    Corsair Obsidian 800D Case
    2* EIZO 4K S-IPS TFT + Oculus Rift CV1

    Notebook primär

    HP Zbook 14 G2
    Intel I5 5300U 4 Threads, 1,9 Ghz Turbo bis 2,66 Ghz
    16 GB DDR 3 1600 Mhz Ram
    Intel HD 5500 + AMD Fire pro MV4150 1GB
    Sandisk SSD 500 GB 2,5 Zoll SATA III
    Transcend SSD NVME 256 GB 2260
    14 Zoll S-VA Samsung Panel 1600*900
    LTE 150 Mbits, Intel AC WIFI Gigabit Lan, BT 4.1, NFC
    4* USB 3.0, 1 Smartcard, 1*PCIE SD card Reader, Sound, DP, Dockport, NT
    4 Cell primär Akku 45 WH + Unterschnall Akku 4 Cell 59 WH bis 14,5H



  • es hat sich so gelesen als würde man nur per Konsole effizient arbeiten können, das wollte ich nur wiederlegen, natürlich gebe ich dir Recht das wenn man so etwas nicht oft mach die Konsole ausreicht

    Das hast du genau genommen eigentlich nicht widerlegt, sondern nur dargestellt, dass man auch mit anderen Mitteln einen Automatismus herstellen kann. Gerade wenn man etwas oft macht ist ja eben die "Batch Verarbeitung" (= Schleife/Map-Funktion) das Mittel der Wahl. Egal, mit welchem Werkzeug.
    Und wie shadowtux schon richtig gesagt hat geht's hier um Pixelschubsen einfachster Güte, da brauchts wahrlich kein Editor sondern lediglich ein Werkzeug für genau das.

  • Mal wieder ein kleines Shell-Snippet, nichts wildes. Konvertiert alle tar.gz-Archive zum effizienteren tar.xz:

    Code
    for i in $(find . -iname "*.tar.gz"); do gunzip -v "${i}" ; xz -v -9 --threads=$(nproc) "$(echo ${i} | sed 's/\.gz//gi')" ; done
  • Code
    alias hinv="uname -srm; neofetch 2>/dev/null cpu memory gpu disk"

    Nichts wildes. Klassischer hinv-Befehl für eine gute Hardwareübersicht wie unter IRIX. Zu hinterlegen in der rc seiner Shell, zum Beispiel .bashrc, .zshrc oder .profile

  • Mal wieder ein "nichts wildes, aber evtl mal ganz nett wenn man die Syntax davon sucht":


    Nimmt als Parameter higher, lower oder mute und setzt die Lautstärke entsprechend in Pulseaudio. Kannn man zum Beispiel Tastenkombis drauf zeigen lassen für Lautstärkebuttons.

  • das ergibt nen Fake Matrix Bildschirm

    X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*

    Früh aufstehen ist der erste Schritt in die falsche Richtung.

    Uri Geller verbiegt Löffel. Na und, Maggi macht Knoten rein!

    Ich bin im WH Forum seit dem 11.05.2003 ... wow

  • Ein Freund bat mich um Rat: Knapp 1400 Zeilen einer Senderliste sollten nach einem bestimmten Schema zugeschnitten werden. Beispiel-Datensatz:
    #SERVICE 4097:0:1:2:0:0:0:0:0:0:https%3a//admin%3aHalloWHF@spielt.keinerolle.ch/stream/channelid/787394218[color=#FF0000]?ticket=1A65EC926EBE4EABBE8705321D943411FF46EE02&profile=pass:[/color]1 FL TV#DESCRIPTION 1 FL TV

    Der rot markierte Teil sollte entfernt werden. Ich habe nicht lange überlegt und eine Quick-and-Dirty-Workaroundlösung in bash zusammengezimmert.

    Mir ist klar, dass man da EINIGES optimieren kann. Alleine schon, die Zwischenstrings nicht erst in Variablen zu packen, sondern das Ganze direkt in EINEM Rutsch auszugeben. Aber wie gesagt, das war nur eine Quick and Dirty-Workaroundlösung und so sparte er sich eine Menge Arbeit, diese Strings jeweils von Hand zu cutten.

    Nur aus Interese: Vielleicht hat ja jemand eine Idee, wie mans schöner machen könnte? Ich habe jetzt einfach mal aus dem Kopf ein bisschen coreutils-Grundlagen rungeschrieben, hatte nicht die Zeit um weitergehende Parameter/Optionen in den Manpages zu recherchieren.

  • Uff, jetzt sag nicht, dass mein gesamtes Script durch einen einzigen Regexp ersetzt werden kann.. Heftig, danke!

    Allerdings hat diese Variante einen Haken: Sie funktioniert nur mit der GNU-Version von sed, mit der BSD-Variante (etwa vom Mac) gibt es kein -r. Wobei man das sicher noch anpassen kann.

    Ich muss unbedingt mal Regexp lernen irgendwann, ist schon geil was damit geht!

  • Hab mal was gebastelt.

    Aktuell suche ich noch nach einer Möglichkeit, dein Output von showmount -e <hostname> so zu parsen, dass ich ihn als Input für meinen Mount-Befehl nutzen kann. Cutten kann ich den Output schon, aber irgendwas ist da noch schief. Vielleicht hat von euch ja jemand ne Idee.

    Meine Beiträge stehen unter der MIT-Lizenz :)


    externe HDD am Router? Klar ich tausch mein Auto gegen nen Tretroller mit Bremsklotz.

    Einmal editiert, zuletzt von tk1908 (12. Mai 2021 um 10:44)

  • Leute ich steh gerade massiv aufm Schlauch

    Ausgabe ist

    Code
    Foo1[1]

    Eigentlich will ich als Ausgabe nur Foo1. Was mache ich falsch?

    Meine Beiträge stehen unter der MIT-Lizenz :)


    externe HDD am Router? Klar ich tausch mein Auto gegen nen Tretroller mit Bremsklotz.

  • So gehts:

    Bash
    #!/bin/bash
    arr=(Foo1 Foo2 Foo3)
    echo ${arr[0]}

    Ausgabe:

    Code
    11:28 merlinfeld@borsenmac /Users/merlinfeld
    % bash arr.sh
    Foo1

    Gewöhn dir am besten bei allen Variablen in Bash an, ihre Namen in {} einzupferchen, zum Beispiel ${example}


  • So gehts:

    Bash
    #!/bin/bash
    arr=(Foo1 Foo2 Foo3)
    echo ${arr[0]}

    Gewöhn dir am besten bei allen Variablen in Bash an, ihre Namen in {} einzupferchen, zum Beispiel ${example}

    In so 'ne Falle bin ich selber auch mal reingetappt. Scheiße, wenn man Powershell sowie C# oder gar die fish-Shell gewohnt ist.

    Make the WHF great again!

    Einmal editiert, zuletzt von Blue (8. Juni 2021 um 06:27)


  • Gewöhn dir am besten bei allen Variablen in Bash an, ihre Namen in {} einzupferchen, zum Beispiel ${example}

    Bei der Gelegenheit sollte man sich auch gleich angewöhnen, immer "${foo}" zu schreiben, vor allem, wenn man es mit Datei-/Directorynamen zu tun hat, die Leerzeichen beinhalten können, insb. bei so Sachen wie for f in *; do … (also Files in einer Schleife behandeln) usw. Oder gibt es dafür einen besseren Weg, den ich noch nicht entdeckt habe?

    Wüsste jetzt auch aus dem Steigreif nicht, wie sich das {} in find . -type f -iname "*.bla" -exec command {} \; verhält.

    Und ja, da ist noch find -print0 nach xargs -0 pipen.

    • • • – • – – • – –

    Einmal editiert, zuletzt von s4ndwichMakeR (8. Juni 2021 um 18:50)

  • Ebenso sollte man bei Bash-Scripten immer beachten, dass Schleifen mit dem Keyword 'do' eröffnet und mit 'done' abgeschlossen werden. Jedes mal vergess ich das nämlich, weil von anderen C-like-Sprachen gewohnt, die geschweiften Klammern den Beginn und das Ende des jeweiligen Blocks definieren. Nur haben die bei der Bash halt ne andere Funktion als den Beginn und Abschluss eines Anweisungsblocks zu kennzeichnen.

Jetzt mitmachen!

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