Programa para crear un fichero nuevo al que se le añada el texto que está contenido en una serie de ficheros distintos

Imagen de tenteyu
0 puntos

Buenos días,

Trabajo en Ubuntu 11.10 en c-shell.

Necesito hacer correr un programa que lo que haga sea crear un nuevo fichero de texto cuyo contenido sea la suma de todo el texto contenido en una serie de ficheros distintos que existan en ese momento en un directorio.

Me explico con un ejemplo:
- Por un lado tengo el directorio $DIR/correo que contiene en ese momento los siguientes ficheros:

  • Primer fichero = 1332348161.2848_1.labfisica0_2,
  • Segundo fichero = 1332348161.2848_11.labfisica0_2,ST
  • Tercer fichero = 1332355415.3771_47.labfisica0_2,
  • Cuarto fichero = 1332404735.3771_53.labfisica0_2,

cada uno de estos ficheros corresponde a un correo electrónico que se ha recibido en la bandeja de entrada de una cuenta de correo en Evolution. Como se ve, el nombre de cada uno de ellos incluye siempre la palabra "labfisica". El contenido de cada fichero es un mensaje de texto plano sin datos adjuntos, por ejemplo:

1332348161.2848_1.labfisica0_2,
texto en el mensaje del primer correo
1332348161.2848_11.labfisica0_2,ST
texto en el mensaje del segundo correo
1332355415.3771_47.labfisica0_2,
texto en el mensaje del tercer correo
1332404735.3771_53.labfisica0_2,
texto en el mensaje del cuarto correo

- Lo que necesito hacer es programar una rutina que lo que haga sea crear un fichero de texto nuevo llamado Inbox, que se guarde en un directorio $DIR/entrada y cuyo contenido de texto ordenado sea el que resulta de sumar todos los textos, que en este ejemplo sería el siguiente:

Inbox
texto en el mensaje del primer correo
texto en el mensaje del segundo correo
texto en el mensaje del tercer correo
texto en el mensaje del cuarto correo

- Por último, después de crear el fichero Inbox de esta forma, que se eliminen todos los ficheros del directorio $DIR/correo

Seguramente sea muy sencillo y en un par de líneas se programe esta rutina, pero soy un principiante y no se cómo programar ésto. Por favor alguna sugerencia??

Muchas gracias de antemano.

Imagen de razaAztk
+1
0
-1

No he usado c-shell, pero en bash podría ser así:

for f in $(ls "$DIR/correo"); do echo FILE: "$f" >> "$DIR/entrada/Inbox"; cat "$f" >> "$DIR/entrada/Inbox"; done
rm "$DIR/entrada/Inbox/*"

Puede que la sintaxis sea equivalente para c-shell.

Saludos!

+1
0
-1

void hey(int x,int y)
{
if (x && y)
 printf("http://libertadhack.blogspot.com/");
else
 printf("http://libertadpunk.blogspot.com/");
}
Imagen de Capa
+1
0
-1

En vista de tus hilos creo que alguien te está haciendo los deberes más que ayudarte. Algo que no cuestiono en absoluto, desde luego.

+1
0
-1