Hinweis: Das Forum wird geschlossen! Neue Registrierungen sind nicht mehr möglich!

 Zurück zu Pro-Linux   Foren-Übersicht   FAQ     Suchen    Mitgliederliste
Dateien Zeilenweise auslesen

 
Neuen Beitrag schreiben   Auf Beitrag antworten    Pro-Linux Foren-Übersicht -> Sonstiges
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Rossi
Gast





BeitragVerfasst am: 14. Jun 2002 18:08   Titel: Dateien Zeilenweise auslesen

...und mein (vorerst) letzter

Kann ich eine Datei Zeilenweise auslesen/berabeiten ?

Bisher hab ich Dateien in eine Variable gelesen ( LISTE=`cut /pfad/datei`) und mit 'ner "for" schleife abgearbeitet (for ZEILE in ${LISTE}; do ). Nun hab ich aber Dateien mit 5000 und mehr Zeilen, die ich ungern in eine Variable packen würde und lieber "direkt" abarbeiten würde, also ohne zwischenspeichern der gesamten Datei. Möglich mit "Boardmitteln", also wieder ohne perl, etc ?
 

Andreas B.
Gast





BeitragVerfasst am: 15. Jun 2002 13:10   Titel: Re: Dateien Zeilenweise auslesen

forschleife $i++ {

cat -n [file] | grep "$i "
}

gibt die Zeile mit der Nummer $i aus

cat -n [file] nummeriert die zeilen der ausgegebenen datei
und grep filtert dann anhand z.B. "10 " raus

musst aber noch ein bissel dran feilen
 

abto



Anmeldungsdatum: 30.03.2002
Beiträge: 23

BeitragVerfasst am: 15. Jun 2002 22:54   Titel: Re: Dateien Zeilenweise auslesen

Die Geschichte mit dem grep funktioniert so leider nicht, da auch Zeilen ausgegeben werden, die die Zeilennummer im Text enthalten.
Alternativ schlage ich folgendes vor:

#! /bin/sh

LINES=`wc -l $1 | tr -s " " | cut -f2 -d' '`

echo "Die Datei $1 hat $LINES Zeilen"

I=1

while [ "$[$I<=$LINES]" = "1" ]
do
ZEILE=`head -n $I $1 | tail -n 1`

# hier wird die Variable mit der Zeile weiterbearbeitet
echo "$I: $ZEILE"
###

I=$[$I+1]
done
 
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden

bash
Gast





BeitragVerfasst am: 16. Jun 2002 15:02   Titel: Re: Dateien Zeilenweise auslesen

#/bin/sh

while read ZEILE; do
## irgend etwas damit tun ...
echo "-> $ZEILE"
done </etc/passwd
 

Rossi
Gast





BeitragVerfasst am: 16. Jun 2002 17:23   Titel: Re: Dateien Zeilenweise auslesen

Hat super geklappt, die while Schleife. Danke !
 

Beiträge vom vorherigen Thema anzeigen:   
     Pro-Linux Foren-Übersicht -> Sonstiges Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehen Sie zu:  

Powered by phpBB © phpBB Group
pro_linux Theme © 2004 by Mandaxy