1. Weiterleitung zu NetzLiving.de
  2. Forum
    1. Unerledigte Themen
  3. zum neuen Forum
  • Anmelden
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

Inhalt einer Textdatei löschen

  • mjx_biz
  • 4. Dezember 2009 um 09:26
  • Unerledigt
Hallo zusammen,

das Informatik-Forum geht in den Archivmodus, genaue Informationen kann man der entsprechenden Ankündigung entnehmen. Als Dankeschön für die Treue bekommt man von uns einen Gutscheincode (informatikforum30) womit man bei netzliving.de 30% auf das erste Jahr sparen kann. (Genaue Infos sind ebenfalls in der Ankündigung)

Vielen Dank für die Treue und das Verständnis!
  • mjx_biz
    Punkte
    1.772
    Beiträge
    340
    • 4. Dezember 2009 um 09:26
    • #1

    Guten Morgen =)!

    Ich bastle gerade an einem Perlscript und frage mich, wie ich den Inhalt einer Textdatei löschen kann. Ich will also nicht die Datei selbst löschen, sondern nur den Text, den sie beinhaltet.

    Habe schon ein paar Sachen gefunden, allerdings scheinen mir die sehr umständlich. Gibts denn nicht sowas wie

    Code
    $nix = "";
    overwrite(file, $nix);

    :D? Würde gerne die ganze Datei überschreiben und nicht in einer Schleife jede einzelne Zeile bearbeiten :shinner:?

  • Ringding
    Punkte
    1.237
    Beiträge
    244
    • 4. Dezember 2009 um 09:42
    • #2

    Die C-Funktion heißt ftruncate. Wie das in perl heißt, musst du selber rausfinden :).

    Alternativ kannst du auch /dev/null auf die Datei kopieren.

  • Kampi
    Punkte
    7.828
    Beiträge
    1.468
    • 4. Dezember 2009 um 10:07
    • #3

    wenn die datei dann aber gleich lang wie vorher sein soll braeuchte man 2 mal truncate.

    laut manpage bewegt man sich da leicht aus dem POSIX-land. ob perl dieses problem dann intern aufloest weisz ich aber nicht.

  • mjx_biz
    Punkte
    1.772
    Beiträge
    340
    • 4. Dezember 2009 um 10:40
    • #4

    An truncate hab ich gar nicht gedacht. Werd ich dann gleich probieren, danke :thumb:!

  • michi204
    Punkte
    7.268
    Beiträge
    1.318
    • 4. Dezember 2009 um 11:51
    • #5
    Code
    [mj@susi tmp]$ echo "ha" > test.dat
    [mj@susi tmp]$ cat test.dat 
    ha
    [mj@susi tmp]$ perl -e 'open HANDLE, ">test.dat" ; close HANDLE;'
    [mj@susi tmp]$ cat test.dat
    [mj@susi tmp]$

    also open reicht..
    lg

  • Kampi
    Punkte
    7.828
    Beiträge
    1.468
    • 4. Dezember 2009 um 13:19
    • #6

    um genau zu sein ist es nicht ein "open reicht", sondern ein "open macht automatisch ein truncate".
    [edit]

    Zitat von perldoc


    If MODE is '>' , the file is truncated and opened for output, being created if necessary.


    [/edit]

    Einmal editiert, zuletzt von Kampi (4. Dezember 2009 um 13:24)

  • mjx_biz
    Punkte
    1.772
    Beiträge
    340
    • 4. Dezember 2009 um 16:28
    • #7

    Nur zur Info: sicherheitshalber erstelle ich die Datei jedes Mal neu und lösche sie nach dem Zugriff wieder. Funktioniert auch :). Wollt ich zwar nicht, hab aber nachgefragt und es ist egal.

  • Ringding
    Punkte
    1.237
    Beiträge
    244
    • 4. Dezember 2009 um 16:46
    • #8
    Zitat von michi204

    also open reicht..

    Stimmt... :)

  • michi204
    Punkte
    7.268
    Beiträge
    1.318
    • 4. Dezember 2009 um 16:57
    • #9
    Zitat von Kampi

    um genau zu sein ist es nicht ein "open reicht", sondern ein "open macht automatisch ein truncate".
    [edit]

    [/edit]

    meinst du truncate oder truncate? ich sprach von zweiterem :)

    lg

  • Kampi
    Punkte
    7.828
    Beiträge
    1.468
    • 6. Dezember 2009 um 18:52
    • #10
    Zitat von michi204

    meinst du truncate oder truncate? ich sprach von zweiterem :)

    du sprachst ueberhaupt nicht von truncate, egal von welchem. du hast schon recht, ein open reicht. eben weil es, wie von mir zitiert, ein truncate macht.

  • Maximilian Rupp 27. Dezember 2024 um 00:26

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

  1. Datenschutzerklärung
  2. Impressum