J'ai environ 100 déclarations d'impression dans un fichier comme celui-ci:
printf("%f \n\n",row1.req_pnttime);
Je veux copier le nom de la variable à l'intérieur de la chaîne pour qu'il devienne comme ceci
printf("row1.req_pnttime: %f \n\n",row1.req_pnttime);
Quelqu'un peut-il m'aider à faire ça?
PS-La longueur du nom de la variable est différente pour chaque instruction print. J'ai donc besoin d'un moyen générique pour le faire.
sed 's/\(.*("\)\(.*,\)\(.*\))/\1\3: \2\3)/' /path/to/input.txt >/path/to/output.txt
sed 's/find/replace/'
. c'est-à-dire trouver une expression et la remplacer.\(
... \)
ce sont des groupes capturés. Ainsi, tout ce qui correspond entre eux est "capturé" dans une variable et peut être rappelé dans la pièce de remplacement, avec \1
, \2
, \3
, etc.\(.*("\)\(.*,\)\(.*\))
. .*("
. Capturez depuis le début jusqu'à tout ce qui se termine par ("
.*,
. À partir de # 1, capturez jusqu'à ,
..*
. Capturez jusqu’à _ (sans inclure) )
.\1\3: \2\3)
.