Hi
wie kann ich mit einem script eine datei zeilenweise auslesen und damit auch zeilenweise bearbeiten ?
ich kann leider kein c deshalb wäre es cool wenn es auch so ginge.
zeilenweises auslesen in bash
Re: zeilenweises auslesen in bash
für einfache files in spaltenformat zb so:
<blockquote><pre><font size="1" face="">code:</font><hr><font face="Courier New" size="2">
FILE=/etc/fstab
while read PARTITION MOUNTPOINT FSTYPE OPTIONS; do
echo $PARTITION $MOUNTPOINT $FSTYPE $OPTIONS
done < $FILE
</font><hr></pre></blockquote>
je nach bedarf/komplexität kann awk usw hilfreich sein. wenn das file ein beliebiges format hat (keine spalten), müsste man mehr über das problem wissen.
> ich kann leider kein c deshalb wäre es cool wenn es auch so ginge.
für so eine aufgabe ist ein script wohl besser geeignet. wenn nicht bash dann perl, aber C lieber nicht.
<blockquote><pre><font size="1" face="">code:</font><hr><font face="Courier New" size="2">
FILE=/etc/fstab
while read PARTITION MOUNTPOINT FSTYPE OPTIONS; do
echo $PARTITION $MOUNTPOINT $FSTYPE $OPTIONS
done < $FILE
</font><hr></pre></blockquote>
je nach bedarf/komplexität kann awk usw hilfreich sein. wenn das file ein beliebiges format hat (keine spalten), müsste man mehr über das problem wissen.
> ich kann leider kein c deshalb wäre es cool wenn es auch so ginge.
für so eine aufgabe ist ein script wohl besser geeignet. wenn nicht bash dann perl, aber C lieber nicht.
Re: zeilenweises auslesen in bash
ich habe eine ganz normale textdatei ohne irgendein format. und wenn die zeile eine bestimmte soll sie in eine andere (vorher leere) textdatei kopiert werden.
zB:
datei vorher:
dasköhdsadihe
blabla iefhioehf
ikjflfö
blabla kdfkheio
blabla jkljeflke
nun sollen alle zeilen die mit blabla anfangen kopiert werden, sodass:
blabla iefhioehf
blabla kdfkheio
blabla jkljeflke
vielleicht hast du ne idee
zB:
datei vorher:
dasköhdsadihe
blabla iefhioehf
ikjflfö
blabla kdfkheio
blabla jkljeflke
nun sollen alle zeilen die mit blabla anfangen kopiert werden, sodass:
blabla iefhioehf
blabla kdfkheio
blabla jkljeflke
vielleicht hast du ne idee
Re: zeilenweises auslesen in bash
grep ist Dein Freund. Hab nun auch wenig Ahnung von grep, aber vielleicht korrigiert mich ein Routinier ja:
grep ^blabla DATEI >> NEUE_DATEI
das "^" bewirkt, das die Zeile, die blabla anfangen muß. Alle Dateien, die so anfangen, werden dann in die Datei NEUE_DATEI umgeleitet und dort angehängt.
Wenn Groß/Kleinschreibung ignoriert werden soll:
grep -i ^blabla DATEI >> NEUE_DATEI
grep ^blabla DATEI >> NEUE_DATEI
das "^" bewirkt, das die Zeile, die blabla anfangen muß. Alle Dateien, die so anfangen, werden dann in die Datei NEUE_DATEI umgeleitet und dort angehängt.
Wenn Groß/Kleinschreibung ignoriert werden soll:
grep -i ^blabla DATEI >> NEUE_DATEI
Re: zeilenweises auslesen in bash
stimmt grep ist klasse.
man kann sogar noch viel mehr damit machen.
danke erstmal
man kann sogar noch viel mehr damit machen.
danke erstmal