text an einen zeile anhängen

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von opino, 04.03.2009.

  1. opino

    opino Tripel-As

    Dabei seit:
    27.10.2006
    Beiträge:
    179
    Zustimmungen:
    0
    Hallo,

    ich versuche mich gerade in die welt der shellscripte reinzudenken, ich habe aber noch keinen überblick welches tool für was verwendet wird.

    Ich habe eine for schleife die über das gesammte verzeichniss läuft.
    Ich würde gerne die ausgabe von cat "$i"|grep "01" nicht in einen neue zeile schreiben,
    sondern an die aktuelle anhängen. Wie würde man das am einfachsten machen? ich kann mir vorstelen das es mit sed geht, stelle ich mir aber zu umständlich vor.
    Code:
    #!/bin/sh
    
    for i in ./*; do
    echo $i
    cat "$i"|grep "T A G " >>out;   
    cat "$i"|grep "01" >> out;
    done
    
     
  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 Gott_in_schwarz, 04.03.2009
    Zuletzt bearbeitet: 04.03.2009
    Gott_in_schwarz

    Gott_in_schwarz ar0

    Dabei seit:
    22.04.2007
    Beiträge:
    546
    Zustimmungen:
    0
    Ort:
    Niedersachsen
    Moin, "cat bla|grep ..." kann man einfacher als "grep ... bla" schreiben.
    Wenn du newlines entfernen willst, geht das bestimmt auf viele verschiedene Weisen.
    Mir fällt grade perls chomp ein:
    Code:
    $ grep "T A G " "$i" | perl -pe chomp
    $ perldoc -f chomp
    Das entfernt aus jeder Zeile das Newline.

    edit: wollte man nur das letzte newline aus dem stream chomp()en (was bei dir nicht danach aussieht, aber man kanns ja erwähnen), ginge das mittels
    Code:
    $ grep "T A G " "$i" | perl -pe 'eof && chomp'
    $ perldoc -f eof
     
  4. opino

    opino Tripel-As

    Dabei seit:
    27.10.2006
    Beiträge:
    179
    Zustimmungen:
    0
    @ gott_in_Schwarz danke für deine Antwort, leider interessiert mich das Konzept des Zeilenweisen anhängens.

    ich habe einen Orner voller Dateinen die folgenden Text enthalten:

    Code:
    --------------------------------------------------------------------------------
    
                            T A G E S B E R I C H T  30.09.2008
    
    --------------------------------------------------------------------------------
    
    
    
    A N L A G E N - I N F O :
    
    
    
    ID  GERAET    SERIENNUMMER    ENERGIE   ONLINE
    
    01  WR8KTL05  2000209224      7.89kWh   11:38h
    
    02  WR51MS02  1100123121      5.08kWh   11:25h
    
    03  WR8KTL05  2000222123      7.65kWh   11:40h
    
    
    Ich möchte aus jeder Datei das Datum und die Energie in eine Zeile haben damit ich das
    ganze in einen Datenbank schreiben kann.
    Meine Idee ist nun folgende:

    Wenn ich in der Schleife auf allen Dateinen iterriere will ich folgendes machen:
    Zuerst durchsuche ich die aktuelle Datei ob sie ein Datum enthält und schreibe es in die out datei
    danach hänge ich jedes vorkommen von [0-9]\.[0-9][0-9]kWh an die aktuelle zeile der out datei
     
  5. #4 Gott_in_schwarz, 04.03.2009
    Gott_in_schwarz

    Gott_in_schwarz ar0

    Dabei seit:
    22.04.2007
    Beiträge:
    546
    Zustimmungen:
    0
    Ort:
    Niedersachsen
    "Zeilenweises anhängen" gibt es nicht. Es gibt nur anhängen (append). Ob das was du anhängst ein newline am Ende hat bestimmt, ob es in deiner Terminologie "zeilenweise" ist oder nicht.
    Einen Weg das abschließende newline zu entfernen hab ich dir gezeigt.

    Vielleicht ein Beisiel fürs Verständnis:
    Code:
    echo -n dies ist eine >> testout
    echo " zusammenhängende" zeile >> testout
    cat testout && rm testout
     
  6. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
Thema:

text an einen zeile anhängen

Die Seite wird geladen...

text an einen zeile anhängen - Ähnliche Themen

  1. kann keinen Text und Array in eine Datei speichern

    kann keinen Text und Array in eine Datei speichern: kann mir mal bitte einer sagen was daran falsch ist? syntax error near unexpected token `>>' ` echo "Server...
  2. Kontextmenü mit einem Skript verbinden

    Kontextmenü mit einem Skript verbinden: Abend, wenn ich z. B. eine simple Umwandlung eines Bildformates in ein anderes über das KDE-Kontextmenü (Servicemenü nennt es sich im KDE oder...
  3. Timestamp an Inhalt einer Textdatei anfügen

    Timestamp an Inhalt einer Textdatei anfügen: Hallo, ich als neuer, unerfahrener Nutzer von Linux und der bash hätte folgende Frage. Und zwar würde ich gerne mit einem command den Zeitstempel...
  4. [code]Text[/code] im Editor nicht mehr vorhanden

    [code]Text[/code] im Editor nicht mehr vorhanden: Hallo, früher gab es im Editor noch den Button für das erstellen von Code-Segmenten. Ich hab das für Konsolen-Output oder angabe von Befehlen...
  5. 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...