Veröffentlicht 24. März 200619 j Hallo, ich habe ein Skript geschrieben, dass Textdateien (Mailkonten) durchsucht und alle in eine Liste schreibt, die in der ersten Zeile mit einem Leerzeichen beginnen - also fehlerhaft sind. Mit welchem Befehl kann ich denn die erste Zeile aus einer Textdatei entfernen ? Eine andere Frage : Wenn ich in der Kommandozeile "la web* >list" ausführe, werden alle Dateien, die mit web beginnen in eine Datei geschrieben. In einem Shellskript funktioniert dies nicht - gibt es denn dafür eine Lösung ? Schon mal danke im Voraus Mike
24. März 200619 j afaik ist "la" nur ein alias für einen ls befehl mit parametern, also ls -al oder so. diesen kennt dein bashscript dann natürlich nicht also entweder den vollen befehl benutzen oder deine .bashrc sourcen ( . .bashrc am anfang des scriptes)
24. März 200619 j Ja, danke mit ls -l funktioniert es :-) Bleibt lediglich die Frage, wie ich eine Zeile aus einer Datei löschen kann. Hab schon überlegt den Rest ab der zweiten Zeile in eine neue Datei zu kopieren und hinterher umzubenennen. Allerdings bestehen manche Postfächer aus über 15000 Zeilen......
24. März 200619 j was anderes fällt mir dazu leider auch nicht ein als zeilen -1 als tail machen ... sorry
24. März 200619 j probier mal mit: cat file-mit-erster-zeile |sed -e '1d' >file-ohne-erste-zeile die erste Zeile zu entfernen.
25. März 200619 j Es funktioniert - die Postfächer werden jetzt repariert :-) Ich schreibe jetzt mit sed den Inhalt der Datei ab der zweiten Zeile in eine neue Datei und benenne diese dann um, nachdem ich das Original gelöscht habe. Denke mit sed wird dies auch nicht anders möglich sein. Habe auf http://www.linuxfibel.de/sed.htm folgendes gelesen : Der Stream Editor modifiziert niemals das Original, sondern schreibt das Ergebnis auf die Standard-Ausgabe. Also danke noch einmal.
26. März 200619 j Mag sein, allerdings leite ich doch auch dann die Ausgabe des Kontos ab der zweiten Zeile in eine Datei um - dass wollt ich dem Server halt gern ersparen. Aber - funktioniert ja bereits :-)
27. März 200619 j Soweit ich weiß kann sed auch etwas direkt in eine Datei schreiben (glaube das war was mit 'i' für insert)...einfach mal googlen
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.