kamome
05-03-2004, 12:03
Hi alle zusammen,
ich will in einer dreispaltigen Datei an bestimmte Zeilen eine vierte Spalte anhaengen:
sed -n "10929p" tstdat |awk '{ print " "$1" "$2" "$3" grow" }'
6.62500 53.87500 22.09 grow
haengt also an die Ausgabe der 10929sten Zeile der Datei tstdat ein " grow" als vierte Spalte an; ich brauche diese neue vierspaltige Zeile aber wieder in der Datei tstdat selbst (wieder als 10929ste Zeile).
Ausserdem muss ich statt des "grow"s auch Variablen aus meinem aufrufenden script benutzen - die verliere ich aber durch die pipe, oder?
Hat jemand dafuer Loesungen? Vielleicht geht das auch nur mit sed (dann ohne pipe), bisherige Versuche in dieser Richtung waren allerdings auch erfolglos:
sed -n "10929p" tstdat |sed 's/*/& grow/'
6.62500 53.87500 22.09
- keine vierte Spalte.
//edit
mit sed -e vielleicht?
sed -e s/alt/neu/ tstsed > tstsed.neu
mv tstsed.neu tstsed
aber wie haenge ich dann eine vierte Spalte an die Zeile an und wie baue ich das 'sed -n "10929p" tstdat' ein?
\\edit
Auch mit pipen durch tee habe ich schon etwas (erfolglos) versucht.
Wie stelle ich das ganze denn richtig an?
Vielen Dank fuer jegliche Loesungsansaetze
cu
kamome
ich will in einer dreispaltigen Datei an bestimmte Zeilen eine vierte Spalte anhaengen:
sed -n "10929p" tstdat |awk '{ print " "$1" "$2" "$3" grow" }'
6.62500 53.87500 22.09 grow
haengt also an die Ausgabe der 10929sten Zeile der Datei tstdat ein " grow" als vierte Spalte an; ich brauche diese neue vierspaltige Zeile aber wieder in der Datei tstdat selbst (wieder als 10929ste Zeile).
Ausserdem muss ich statt des "grow"s auch Variablen aus meinem aufrufenden script benutzen - die verliere ich aber durch die pipe, oder?
Hat jemand dafuer Loesungen? Vielleicht geht das auch nur mit sed (dann ohne pipe), bisherige Versuche in dieser Richtung waren allerdings auch erfolglos:
sed -n "10929p" tstdat |sed 's/*/& grow/'
6.62500 53.87500 22.09
- keine vierte Spalte.
//edit
mit sed -e vielleicht?
sed -e s/alt/neu/ tstsed > tstsed.neu
mv tstsed.neu tstsed
aber wie haenge ich dann eine vierte Spalte an die Zeile an und wie baue ich das 'sed -n "10929p" tstdat' ein?
\\edit
Auch mit pipen durch tee habe ich schon etwas (erfolglos) versucht.
Wie stelle ich das ganze denn richtig an?
Vielen Dank fuer jegliche Loesungsansaetze
cu
kamome