2010-09-28 16 views
21

Quiero eliminar el contenido de la lista de archivos.Eliminar todo el contenido del archivo

EDITAR:

Tengo la lista de archivos.

archivo1 archivo2 archivo3

Los archivos que contienen montón de líneas ...

Quiero eliminar todas las líneas de cada archivo.

+1

¿Cuál es su pregunta específica? –

+0

@Timo. Parece que tiene una lista de archivos y quiere eliminar/eliminar su contenido. Eso fue claro desde la primera revisión. Si está publicando aquí, probablemente quiera saber cómo lograrlo. No todos aquí hablan inglés con fluidez. – z5h

Respuesta

37

Parece que necesita truncar el archivo. hacer algo como:

File.open('/tmp/file', 'w') {|file| file.truncate(0) } 
+11

'File.open ('/ tmp/file', 'w') {}' debería ser suficiente. –

+16

'truncado' también está disponible como método de clase, no hay necesidad de abrir explícitamente el archivo:' File.truncate ('/ path/to/file', 0) '. Sin embargo, tenga en cuenta que esto está documentado como "No disponible en todas las plataformas". (Lo que generalmente significa solo POSIX, es decir, no JRuby, ni IronRuby, ni Windows). –

15

Para truncar un archivo:

File.truncate('/path/to/file', 0) 

para truncar lista de archivos:

[file1, file2, file3].each { |file| File.truncate(file, 0) } 
0

Desde truncado no está disponible en todas las plataformas, utilice f = open('filename', File::TRUNC) {}

Cuestiones relacionadas