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

関連情報