Zeilenweise suchen, löschen und ersetzen / Inhalt einfügen

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von TeeBee, 06.05.2013.

  1. TeeBee

    TeeBee Grünschnabel

    Dabei seit:
    06.05.2013
    Beiträge:
    1
    Zustimmungen:
    0
    Hallo liebe Community.
    Habe ein kleines Problem und bin leider nicht so der Linux-Freak... Ich hoffe mal ihr könnt mir da vielleicht ein wenig weiter helfen.

    Folgende Situation/Problem:
    Ich baue gerade ein paar IPK-Packages für meinen Sat-Reciever (TitanNit).
    Möchte damit z.B. diverse Updatefunktionen auf meinem Reciever durchführen.
    In diesem Beispiel sind es ein paar Internetradiosender, die ich intelligent austauschen/updaten oder ergänzen möchte...

    Hier mal meine "preinst" Datei, die ich erstmal bearbeiten möchte:

    Code:
    #!/bin/sh
    #
    TMP=/tmp
    
    #####################
    ## Internet-Stream-Updater
    #####################
    
    echo "Checking favorites file..."
    [ -d /media/autofs/sda1/swapextensions/player ] || mkdir -p /media/autofs/sda1/swapextensions/player
    
    rm -rf /media/autofs/sda1/swapextensions/player/favorite
    wget -O /media/autofs/sda1/swapextensions/player/favorite http://www.mydomain.com/titannit/download.php?file=favorite
    chmod 755 /media/autofs/sda1/swapextensions/player/favorite
    ######
    echo "Tithek Favorites Update completed successfully."
    echo ""
    echo ""
    # wget -O /tmp/readme.txt http://www.mydomain.com/titannit/readme.txt
    # more /tmp/readme.txt
    # rm /tmp/readme.txt
    sleep 2
    
    exit 0
    
    Ändern möchte ich noch:
    1. "/media/autofs/sda1/swapextensions/" muss durch eine feste Variable ersetzt werden wie z.B. %swapextensions% oder so... (weiß nicht wie man die Variablen da genau deklariert und einsetzt... und welche festgelegten Systemvariablen es gibt bzw. wo man die nachlesen kann...)

    2.
    Die alte/neue "favorite" Datei enthält z.B. folgenden Inhalt:
    Code:
    JAM FM#http://xxxxxxxx.com/jam-bnd-mp3#http://atemio.dyndns.tv/mediathek/menu/internetradio.jpg#internetradio.jpg#Internet Radio#2
    TechnoBase House#http://99.99.99.99:80#http://atemio.dyndns.tv/mediathek/menu/internetradio.jpg#internetradio.jpg#Internet Radio#2
    TechnoBase Trance#http://99.99.99.99:80#http://atemio.dyndns.tv/mediathek/menu/internetradio.jpg#internetradio.jpg#Internet Radio#2
    [...]
    
    Das Script löscht die alte Datei (sofern vorhanden), und läd eine aktuelle vom Server herunter.
    Besser wäre es - sofern bereits eine Datei existiert - die Datei zu öffnen und nach bestimmten Links zu suchen und diese erst einmal zu löschen.
    Dazu könnte ich wie folgt eine Datei mit Suchbegriffen auf meinem Webserver anlegen und die erstmal ins TMP Verzeichnis downloaden:

    Code:
    JAM FM#http://
    TechnoBase House#http://
    TechnoBase Trance#http://
    [...]
    
    Nun müsste ich mit einer Schleife die originale "favorite"-Datei auf dem Reciever nach dem Begriff "JAM FM#http://" durchsuchen und dann die betreffende Zeile löschen.
    Nachdem die alte favorite Datei bereinigt worden ist, kann man nun die neue favorite-Datei vom Webserver herunterladen und den Inhalt der Datei an die vorhandene Datei auf dem Reciever anhängen.

    Sicher könnte man das ganze Script noch weiter optimieren, so dass z.B. auch die Sortierung und Struktur erhalten bleibt, sofern man z.B. Zeilen in der "favorite" selber verschoben hat. Aber ich will es hier nicht gleich übertreiben ;)

    Danke :)
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 tennessee, 17.07.2013
    tennessee

    tennessee Linuxfan

    Dabei seit:
    22.04.2006
    Beiträge:
    134
    Zustimmungen:
    0
    swapextensions="XYZ"
    echo $swapextensions
    bzw.
    /media/autofs/sda1/$swapextensions/player

    if test -e /pfad/dateiname
    then
    sed -e /"URL die gesucht werden soll"/d dateiname > dateiname_kopie
    mv dateiname_kopie dateiname
    fi

    wget url/dateiname1
    sed -e /"JAM FM\#http://"/d dateiname1 > dateiname_kopie
    mv dateiname_kopie dateiname1

    cat dateiname1 >> dateiname

    Angaben ohne Gewehr! ;-)
     
Thema: Zeilenweise suchen, löschen und ersetzen / Inhalt einfügen
Besucher kamen mit folgenden Suchen
  1. warum kann ich bei den faroit nits löschen

Die Seite wird geladen...

Zeilenweise suchen, löschen und ersetzen / Inhalt einfügen - Ähnliche Themen

  1. Suchen nach String und Ersetzen zeilenweise

    Suchen nach String und Ersetzen zeilenweise: Hallo, ich habe folgendes Problem: ich möchte in einer großen Textdatei die zeilenweise folgendermaßen aufgebaut ist nach einem String...
  2. Textdatei zeilenweise in durchnummerierte Variablen schreiben

    Textdatei zeilenweise in durchnummerierte Variablen schreiben: Hi Leute, ich versuche folgendes Problem zu lösen. Ich möchte eine Textdatei einlesen und den Inhalt jeder Zeile in immer eine neue Variable...
  3. Prblem mit zeilenweises auslesen von Datei und schreiben nach mysql

    Prblem mit zeilenweises auslesen von Datei und schreiben nach mysql: Hallo Eventuell kann mir jemand bei meinem Problem helfen. Ich habe mich irgendwie total verrannt und komme nicht weiter. Die folgende...
  4. in eine Datei zeilenweise reinschreiben

    in eine Datei zeilenweise reinschreiben: Hallo, bin gerade am Verzweifeln, denn alles, was sonst immer funktionierte geht plötzlich nicht mehr. mein Code: cat table1 | while read...
  5. Datei zeilenweise schreiben

    Datei zeilenweise schreiben: Hallo, ist es mit Bash Mitteln irgendwie möglich, eine Datei mit schreibenden Zugriff zu öffnen, Zeile für Zeile rausschreiben und sie dann...