Имея набор данных, как показано ниже, с разделителями (:) двоеточием:
##L1
Advc:start:TA_Wk;TA_Wk:rstb:ver:trstb.techind_C3_D[0].RESETH:LK
##L2
ner:ted:Unused:C1500:ver:sync3rmsfd0nt_t;tape_out:SOCK0
Я использую номер столбца и прикрепляю к нему несколько строк с помощью AWK. И я пытаюсь игнорировать сообщения, которые встречаются с #, и наконец их добавить.
#!/bin/bash
awk -F: '/^#/ {c=$0; sub(/#+/,"", c); next}
{print $1, "-f" " "$4, "-t" " "$6, "-d" " ""{"$3"}", "-t" " ""{"$7"}","-", "\"" c "\""}' s1
Вывод:
Advc -f rstb -t trstb.techind_C3_D[0].RESETH -d {TA_Wk;TA_Wk} -t {LK} - "L1"
-f -t -c {} -c {} - "L1"
ner -f C1500 -t sync3rmsfd0nt_t;tape_out -d {Unused} -t {SOCK0} - "L2"
Желаемый результат:
Advc -f rstb -t trstb.techind_C3_D[0].RESETH -d {TA_Wk;TA_Wk} -t {LK} - "L1"
ner -f C1500 -t sync3rmsfd0nt_t;tape_out -d {Unused} -t {SOCK0} - "L2"
1. В столбцах 3 и 7, если такие слова, как «Не используется», «Не указано», он не должен печатать этот конкретный столбец, который он должен игнорировать вместе со строкой, прикрепленной к нему, как показано выше в желаемом выводе.
2. Как удалить пустые строки.
Как исправить два вышеуказанных условия в моем коде, как показано выше?