So erhalten Sie mit awk einen String zwischen Klammern und einen String ohne Klammern

So erhalten Sie mit awk einen String zwischen Klammern und einen String ohne Klammern

Meine Eingabe ist:

ABC_DFG_FRE
s(DFR_GHY_JUY)
BGR_KIU_PLO
s(VFR_KJU_MKJ)

Die Ausgabe sollte sein:

ABC_DFG_FRE
DFR_GHY_JUY   
BGR_KIU_PLO  
VFR_KJU_MKJ

Antwort1

Versuche dies:

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

Antwort2

Oder mit sed:

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

oder strenger:

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

verwandte Informationen