Si quieres eliminar el contenido que un archivo UNIX, puedes hacerlo eliminando el archivo y volviéndolo a crear, pero hay alternativas mucho más elegantes, como la que he aprendido hoy 😉
Recomendación: Un libro/ebook que debes tener para la administración de entorno linux o simplemente como referencia de todos los comandos, es la guía de bolsillo de O’reilly.
Indispensable
El archivo especial /dev/null no puede y no contiene nada. Normalmente es usado como un «sumidero«, por ejemplo para no escribir mensajes de salida que no quieres mostrar o guardar, sea por ejemplo el caso de los cron jobs.
Ahora bien para reemplazar el contenido de un archivo usaremos éste sistema para vaciarlo, con el siguiente comando.
cat /dev/null > un_archivo.txt
Nota! El comando cat (por concatenar) es un comando Unix para concatenar y mostrar archivos.
Lectura Recomendada
Hola Pedro:
Esta si fue una solucion como tu dices «ELECGANTE».
My friend un abrazo y agradecimiento desde Bogota.
:> archivo_borrado
mmm… creo que estas 2 formas de borrado si bien son buenas, no serian lo mejor ya que igualmente algo de informacion existe en el disco…. con alguna herramienta forence podria ver que contenido tenia el archivo y intentar reconstruirlo si fuera necesario. Tal vez lo que haria yo, sustituir el contenido del archivo por 0 y 1 en forma total ,regrabar el archivo y luego borrarlo.
Me ha venido de lujo… gracias!
Otra forma mas eficaz es
echo «» > un_archivo.txt
Esa la acobe de aprender ahora mismo despues de leer tu post 🙂 CAUSALIDAD
SI funciona, PERO si lo copias No te va a funcionar PORQUE las comillas que esta en el comando que puse aqui, no son las correctas 😐 Yo puse las correctas pero la pagina me las reemplazo por otras.
Escribe el comando en la terminal sin copiar y pegar (Si quieres que te funcione).
SALUDOS
Y por supuesto NO te olvides de poner el nombre Correcto del archivo que quiere modificar.
NO lo olvides, si tu archivo se llama Hola.txt (por jemplo) lo pones asi
echo «» > Hola.txt
😀
echo «» > file deja un «\n» en el fichero, eso no es igual a vacío
genera un archivo con un salto de linea. tamaño un byte
Otra forma que leí en algún otro lado y que es muy fácil de memorizar:
true > fichero.txt
Muchas gracias
Hola como lo podemos hacer para que se realice cada cierto tiempo que comando tengo que agregar al cron o a otro lugar
Precisamente el cron es lo que te ayuda a programar tareas o ejecuciones
revisa éste link.. Te ayuda mucho cuando vas empezando
https://crontab.guru/
Tambien se puede vaciar un archivo con «true > archivo», sea que ya este creado o no y si ya existe y tiene contenido igual lo dejara vacio.
si funciona como dices sin salto de linea
si son varios archivos correlativos ejemple archivo01.txt al 050.txt se pueden vacias poniendo un rango?
Podrías hacerlo en un for , ejemplo
for i in $(seq 1 50)
do
cat /dev/null > un_archivo$i.txt
done