Spalte einer Datei ersetzen

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von Berkant, 19.05.2007.

  1. #1 Berkant, 19.05.2007
    Berkant

    Berkant Grünschnabel

    Dabei seit:
    16.08.2006
    Beiträge:
    5
    Zustimmungen:
    0
    Hallo Leute,

    Mein Problem ist folgendes:

    Ich hab ne Datei, die aus mehreren Spalten besteht.
    Ich würde allerdings gerne die erste Spalte komplett mit einer Spalter ersetzen, die einen konstanten eintrag (eine Zahl) hat.

    Ich könnte das natürlich irgendwie per hand machen, allerdings handelt es sich um sehr viele Dateien. könnt ihr mir vielleicht helfen?

    grüsse berkant
     
  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 Wolfgang, 19.05.2007
    Zuletzt bearbeitet: 19.05.2007
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Hallo
    Leider sagts du nicht um welche Shell es sich handelt.
    Also gehe ich von der Bash aus.

    Es gibt dazu viele Möglichkeiten.
    sed perl awk Kombination aus read und cut und echo...

    Wenn du den Zeilentrenner kennst, kannst du das mit sed erledigen.
    GNU sed kennt die Option -i (arbeitet direkt auf der Datei)
    Code:
    #Zeilentrenner sei Tab
    sed  -i -e 's!^\([^\t]*\)\t\(.*\)$!NEUWERT\t\2!g' inputfile
    
    Oder mit read
    Code:
    while read var1 rest;
    do 
    echo -e "Neuer_Wert\t$rest"  
    done <input >output
    
    Gruß Wolfgang
    edit// Ergänzung für viele Dateien
    Code:
    find /path -type f -name "FILEPATTERN"|while read file;
    do
             while read var1 rest;
            do 
            echo -e "Neuer_Wert\t$rest"  
            done < "$file" > "${file}_new"
    done
    
     
  4. #3 Fallout, 19.05.2007
    Fallout

    Fallout Doppel-As

    Dabei seit:
    02.03.2007
    Beiträge:
    120
    Zustimmungen:
    0
    Hi,

    als Beispielergänzung: bei spaltzenbezogenen Sachen bietet sich awk meist ganz gut an:
    Code:
    awk '{$1="KONSTANTE"; print}' < altedatei > neuedatei
    Ggf. noch mit Schleifen wie von Wolfgang gezeigt für mehrere Dateien ergänzen.

    Gruß Daniel
     
Thema: Spalte einer Datei ersetzen
Besucher kamen mit folgenden Suchen
  1. bash spalte ersetzen

    ,
  2. bash Spalten aendern

Die Seite wird geladen...

Spalte einer Datei ersetzen - Ähnliche Themen

  1. spalten einer csv-Liste filtern

    spalten einer csv-Liste filtern: Hallo Kommandozeilen-Liebhaber, ich bin ziemlich neu im shell-scripting, daher gibt's womöglich 'ne ganz einfache aber mir nicht bekannte...
  2. Bodhi Linux spaltet Enlightenment ab

    Bodhi Linux spaltet Enlightenment ab: Jeff Hoogland, Hauptentwickler der Distribution Bodhi Linux, hat die Abspaltung der Desktop-Umgebung Enlightenment beschlossen. Die Beweggründe...
  3. Fedora-Entwickler möchte Systemd erneut aufspalten

    Fedora-Entwickler möchte Systemd erneut aufspalten: Der Fedora-Entwickler Zbigniew JÄ™drzejewski-Szmek, der unter anderem Co-Maintainer von Systemd für die Distribution ist, hat für Fedora 22 einen...
  4. Neuer Mozilla-Chef spaltet die Gemeinschaft

    Neuer Mozilla-Chef spaltet die Gemeinschaft: Bei Mozilla sorgt die Ernennung des neuen Chefs Brendan Eich für Ärger. Medienberichten zufolge haben in der vergangenen Woche drei Mitglieder des...
  5. Jede n-te Spalte auslesen, bzw bestimmte Spalten ausschließen

    Jede n-te Spalte auslesen, bzw bestimmte Spalten ausschließen: Moin, habe ne Datei von der ich nur jede n-te spalte auslesen möchte, bzw löschen möchte (konstant jede dritte Spalte soll raus um genau zu sein)....