awk를 사용하여 중괄호 사이의 문자열과 중괄호가 없는 문자열을 얻는 방법

awk를 사용하여 중괄호 사이의 문자열과 중괄호가 없는 문자열을 얻는 방법

내 입력은 다음과 같습니다

ABC_DFG_FRE
s(DFR_GHY_JUY)
BGR_KIU_PLO
s(VFR_KJU_MKJ)

출력은 다음과 같아야 합니다.

ABC_DFG_FRE
DFR_GHY_JUY   
BGR_KIU_PLO  
VFR_KJU_MKJ

답변1

이 시도:

$ awk -F'[()]' 'NF>2{print $2;next}1' file
ABC_DFG_FRE
DFR_GHY_JUY
BGR_KIU_PLO
VFR_KJU_MKJ

답변2

아니면 sed를 사용하세요:

sed 's/.*(//; s/).*//' file

또는 더 엄밀히 말하면:

sed 's/.*(\(.*\)).*/\1/' file

관련 정보