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í).