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