У меня есть такой файл:
h3fah055,NG_SYS_UX,NG_SYS_FO,NG_SYS_STG,NG_APP_DWH h3fah058,NG_SYS_UX,NG_SYS_FO,NG_SYS_STG,NG_APP_DWH h3fah065,NG_SYS_UX,NG_SYS_FO,NG_SYS_STG,NG_APP_ERP h3fah066,NG_SYS_UX,NG_SYS_FO,NG_SYS_STG,NG_APP_ERP h3fah082,NG_SYS_UX,NG_SYS_FO,NG_SYS_STG h3fal029,NG_SYS_UX,NG_SYS_FO,NG_SYS_STG h3fal030,NG_SYS_UX,NG_SYS_FO,NG_SYS_STG
Я хотел бы сгенерировать ldif из этого файла, поэтому для каждой строки мне нужно сгенерировать:
dn: cn=h3fah055,ou=hosts,dc=example,dc=com
objectClass: host
objectClass: ipHost
objectClass: top
ipHostNumber: 1.1.1.1
cn: h3fah055
Allowednetgroup: NG_SYS_UX
Allowednetgroup: NG_SYS_FO
Allowednetgroup: NG_SYS_STG
Allowednetgroup: NG_APP_DWH
Как я могу прочитать каждую строку в этом файле и сохранить, если она существует, каждую сетевую группу в переменной, чтобы напечатать в файле желаемый результат?
я пытался с
while read p; do
echo $p | awk -F , '{print "dn: cn=" $1 ",ou=hosts,dc=example,dc=com"}'
done <hosts_list.txt
Но я не уверен, как добавить столько Allowednetgroup
, сколько определено в файле.