我必须使用 提取以下函数调用的第一个参数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));
期望字符串的结果如下。
p->name
p->balance
p->number
p->address
答案1
我会用awk
它而不是sed
替代:
$ awk -F '[(,]' '{ print $2 }' file
p->name
p->balance
p->number
p->address
(
它将每一行视为由或分隔的多个字段,
,并打印第二个字段。
答案2
sed 's/[^(]*(\([^,]*\),.*/\1/' input.txt
输入
strlcpy(p->name,getInfo(NULL,&account));
strlcpy(p->balance,getInfo(NULL,&account));
strlcpy(p->number,getInfo(NULL,&account));
strlcpy(p->address,getInfo(NULL,&account));
输出
p->name
p->balance
p->number
p->address