Eu usaria awk para isso em vez de uma substituição sed :
$ awk -F '[(,]' '{ print $2 }' file
p->name
p->balance
p->number
p->address
Ele vê cada linha como um número de campos separados por ( ou , e imprime o segundo campo.
Eu tenho que extrair o primeiro parâmetro das seguintes chamadas de função usando sed .
strlcpy(p->name,getInfo(NULL,&account));
strlcpy(p->balance,getInfo(NULL,&account));
strlcpy(p->number,getInfo(NULL,&account));
strlcpy(p->address,getInfo(NULL,&account));
Esperando o resultado da string como abaixo.
p->name
p->balance
p->number
p->address
Eu usaria awk para isso em vez de uma substituição sed :
$ awk -F '[(,]' '{ print $2 }' file
p->name
p->balance
p->number
p->address
Ele vê cada linha como um número de campos separados por ( ou , e imprime o segundo campo.
sed 's/[^(]*(\([^,]*\),.*//' input.txt
Entrada
strlcpy(p->name,getInfo(NULL,&account));
strlcpy(p->balance,getInfo(NULL,&account));
strlcpy(p->number,getInfo(NULL,&account));
strlcpy(p->address,getInfo(NULL,&account));
Resultado
p->name
p->balance
p->number
p->address
Tags sed