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

相關內容