Mr Krabs Geschrieben 24. März 2006 Geschrieben 24. März 2006 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
shutdown-Frnow Geschrieben 24. März 2006 Geschrieben 24. März 2006 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)
Mr Krabs Geschrieben 24. März 2006 Autor Geschrieben 24. März 2006 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......
shutdown-Frnow Geschrieben 24. März 2006 Geschrieben 24. März 2006 was anderes fällt mir dazu leider auch nicht ein als zeilen -1 als tail machen ... sorry
giftclown Geschrieben 24. März 2006 Geschrieben 24. März 2006 probier mal mit: cat file-mit-erster-zeile |sed -e '1d' >file-ohne-erste-zeile die erste Zeile zu entfernen.
Mr Krabs Geschrieben 25. März 2006 Autor Geschrieben 25. März 2006 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.
etherius Geschrieben 25. März 2006 Geschrieben 25. März 2006 Geht das nicht auch mit tail +2 datei > datei ?
Mr Krabs Geschrieben 26. März 2006 Autor Geschrieben 26. März 2006 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 :-)
Schlaubi Geschrieben 27. März 2006 Geschrieben 27. März 2006 Soweit ich weiß kann sed auch etwas direkt in eine Datei schreiben (glaube das war was mit 'i' für insert)...einfach mal googlen
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden