我在Unix文件中具有以下格式的数据,需要进行如下转换。
FROM
ABC: XYZ_RMP1(1),UVW_RMP1(1)
DEF: UVW_RMP1(2),MNS_ABT2(3),AMO_KYZ3(
GHI: AMO_KYZ3(1),NPO_ABT1(4)
JKL: HJY_RST4(1),TSU_RMP1(5),FBT_MUS6(3)
TO
ABC_XYZ_RMP1
ABC_UVW_RMP1
DEF_UVW_RMP1
DEF_MNS_ABT2
DEF_AMO_KYZ3
GHI_AMO_KYZ3
GHI_NPO_ABT1
JKL_HJY_RST4
JKL_TSU_RMP1
JKL_FBT_MUS6
我尝试了以下命令
awk '{for(i=1;i<=NF;i++) printf "%s\n",$i}' file >> file1
sed 's|[:(),]||g' file1 >> file2
sed 's/.$//' b.txt file2 >> file3
答案 0 :(得分:0)
你快到了。
sed 's/,/ /g' input | awk '{for(i=2;i<=NF;i++) printf "%s %s\n",$1,$i}' | sed 's/: /_/;s/(.*)//g' > output