Spalte einer Datei ersetzen

B

Berkant

Grünschnabel
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
 
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
 
Zuletzt bearbeitet:
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
 

Ähnliche Themen

Komplette Spalten aus Datei löschen.

Hilfe für ein shell script

Spalten einer Datei in neue Datei integrieren.

es kommen abwechselnd neuere Distributionen...

Keine grafische Oberfläche (Debian Installation)

Zurück
Oben