如何使用 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

相关内容