Строки в столбец преобразования в Unix - PullRequest
0 голосов
/ 21 мая 2019

У меня есть данные в файле Unix в следующем формате, необходимо преобразовать, как показано ниже.

ОТ

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)

ДО

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

1 Ответ

0 голосов
/ 21 мая 2019

Ты почти у цели.

 sed 's/,/ /g' input | awk '{for(i=2;i<=NF;i++) printf "%s %s\n",$1,$i}' | sed 's/: /_/;s/(.*)//g' > output
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...