aus datei lesen

E

ebito

Jungspund
hallo,

hab leider nicht viel Erfahrung mit Shell-Skripte.
Ich habe eine Datei die ich mit ls >> test.txt erstelle habe.

Mein Shell-Skript soll nun in einer Schleife Zeile für Zeile der Datei in eine Variable schreiben, aber nur Zeilen die nicht mit "." anfangen.

das hab ich mal geschrieben (läuft aber net):
Code:
#!/bin/bash
datei=test.txt
nummer=3
text=""
i=0
while  [ $nummer -le 4 ]
do
	text=head -$nummer $datei | tail -1
	if  (text!=".") then
		head $-nummer $datei | tail -1
	fi
	
	nummer=$[$nummer+1]
done

danke schonmal für Tipps.


gruß
 
Ich hätte ne for schleife genommen:
Code:
for ((i=0; i<=4; i++))
 do

bla
bla
   done

Und dann würde ich mit grep arbeiten
man grep
 
hallo,

hab leider nicht viel Erfahrung mit Shell-Skripte.
Ich habe eine Datei die ich mit ls >> test.txt erstelle habe.

Mein Shell-Skript soll nun in einer Schleife Zeile für Zeile der Datei in eine Variable schreiben, aber nur Zeilen die nicht mit "." anfangen.

das hab ich mal geschrieben (läuft aber net):
Code:
#!/bin/bash
datei=test.txt
nummer=3
text=""
i=0
while  [ $nummer -le 4 ]
do
	text=head -$nummer $datei | tail -1
	if  (text!=".") then
		head $-nummer $datei | tail -1
	fi
	
	nummer=$[$nummer+1]
done

danke schonmal für Tipps.


gruß

Hallo
An der while liegt es nicht alleine.
Da sind gleich etliche Fehler drin.

Dein Problem könntest du regeln, indem du die Zeilen welche mit Punkt beginnen gleich mit sed oder grep ausfilterst.

Wozu brauchst du den Zähler?

Gegenvorschlag.
Falls du etwas mit dem i machen willst, incrementiere ich dir das mal mit.

Code:
i=0
egrep -v "^\." inputdatei |while read VAR;
 do
echo $VAR;
echo $i;
((i++));
# wenn i >4 steigen wir aus.-falls du das brauchst.
# will dir hier  auch blosz mal eine funktionierendes test zeigen.
# du kannst natürlich auch mit head am Anfang arbeiten.
 if [ $i -gt 4 ];
  then 
  break;
  fi;
done

Wenn du die Ausgabe eines Befehls in einer Variable haben willst, benutze sowas:
Code:
VAR=$(command);
Die Backtics gehen auch, sind aber veraltet.

Gruß Wolfgang
 
vielen Dank, hab es jetzt hinbekommen.

Brauche das Script, da ich in diesen Ordner files kopieren will, die mir das Script alle nacheinander über FTP auf nen anderen Server bringt.
Also um dieses Verfahren für User einfacher zu gestalten.

gruß
 

Ähnliche Themen

Switche abfragen über Script

Skript soll nicht doppelt laufen... kill pkill pid cron

script sshpass

Verschlüsseltes Backup-Script mit rsync

[gelöst] - for file in ... nur für bestimmte Endungen?

Zurück
Oben