Cómo usar el nombre del archivo con sed en una expresión de búsqueda

Tratando de responderUsando Bash / Perl para modificar archivos basados ​​en el nombre de cada archivo Terminé en un punto en el que no sé cómo usarfind ysed todos juntos.

Digamos que hay una cierta estructura de archivos en la que queremos cambiar una línea, agregando el nombre del archivo.

Si fuera normalfor bucle que haríamos:

for file in dir/*
do
   sed -i "s/text/text plus $file/g" $file
done

Pero digamos que queremos usarfind para cambiar archivos de todos los subdirectorios. En este caso, yo usaría ...

find . -type f -exec sed -i "s/text/text plus {}/g" {} \;
                                              ^
                                   it does not like this part

pero estos{} dentrosed No se aceptan y me sale el error.

sed: -e expresión # 1, char 20: opción desconocida para `s '

Encontré algunas preguntas similares (1) pero no podría generalizarlo lo suficiente como para que sea comprensible para mí en este caso.

Estoy seguro de que ustedes vendrán con una gran solución para esto. ¡Gracias!

Respuestas a la pregunta(2)

Su respuesta a la pregunta