Añadir línea a varios archivos
 12 de marzo de 2023
 ---

 A veces descargo textos que encuentro en algún
 gopher. Por lo general, tengo cuidado de guardar
 la referencia, por si alguna vez quiero citarlo.
 Pero a veces se me olvida.  Tiempo después, si su
 autor/a no firmó (aunque a veces el estilo
 funciona como firma), ya es imposible recordar de
 dónde vino.

 Así que pensé que sería buena idea hacer lo
 propio y añadir alguna línea de referencia al
 final de mis textos.  El comando cat habría
 bastado. Pero yo quería hacerlo de golpe con todos
 los archivos de un directorio.

 Se me ocurrió un modo de hacerlo. Probablemente
 haya mejores (quizá con el editor sed, por
 ejemplo) u otros hayan empleado este mismo.
 Excepto que esta vez no utilicé ningún buscador,
 sino que lo hice nomás a prueba y error.  Y cuando
 funcionó, me sentí casi Rocky al final de las
 escaleras con mi pequeño, inútil, pero
 intransferible sentimiento de victoria. Lo
 comparto aquí, por si a alguien más le resulta de
 utilidad.

 1. Creamos el archivo con la firma:

     cat > firma

 El cursor se coloca, entonces, en una nueva línea
 para que insertemos el texto deseado. En mi caso:

   --
   escrito por ~alberto en texto-plano.xyz
   gopher://texto-plano.xyz/1/~alberto/archivo

   cc by-sa

 Con CTRL+d damos por terminado el archivo «firma»,
 que queda guardado en el mismo directorio de los
 archivos a modificar.

 2. Ejecutamos este bucle:

     for i in *.txt; do cat firma >> $i ; done

 Y listo. Ahora todos los archivos .txt del
 directorio tienen al final la firma.

 Explicación:

 1. for i in *txt; do: hace el bucle (todos los
 archivos a modificar, en mi caso, tienen la
 extensión .txt).  2. cat firma >> $i: concatena el
 archivo «firma» en la última línea del primer
 archivo .txt que encuentre en el directorio.  3.
 done: hecho lo anterior, vuelve a hacer lo mismo
 con el siguiente .txt en el directorio, hasta que
 no haya más.

 Advertencia: como es sabido, hay que tener cuidado
 con el uso de >> en el paso 2. Nótese que son dos
 signos 'mayor que' (>>). Uno solo (>)
 sobreescribiría todos los archivos .txt con el
 único contenido del archivo «firma». Tal vez por
 eso, como precaución, sea mejor idea dejar en paz
 nuestros originales y enviar los archivos
 modificados a otro directorio.

 --
 (Actualización 14/03/2023: Había puesto aquí un
 bucle para enviar una copia de los archivos, ya
 con la firma añadida, a otro directorio. No
 destruía los originales, pero los nuevos archivos
 sólo contenían la firma. Aún no sé dónde está el
 error, pero en cuanto tenga tiempo de descubrirlo,
 lo pondré de nuevo aquí).