sed를 사용하여 패턴 사이에 문자열 인쇄

sed를 사용하여 패턴 사이에 문자열 인쇄

를 사용하여 다음 함수 호출의 첫 번째 매개변수를 추출해야 합니다 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

관련 정보