./shell.sh :строка 6 :[ := ~:ожидается бинарный оператор

$ awk -F'|' '
    BEGIN {
      getline; split($0,a); OFS=FS; 
      print "EMP_ID", "EMP_NAME", "Values", "HeaderName"
    } 
    {
      for (i=3;i<=NF;i++) print $1, $2, $i, a[i];
    }
' sample
EMP_ID|EMP_NAME|Values|HeaderName
123456|XXXXXXXXX|30|AGE
123456|XXXXXXXXX|10000000|SALARAy
123456|XXXXXXXXX|1234|DepId
123456|XXXXXXXXX|XYZWE|DepName

Если вы хотите, чтобы диапазон выходных полей совпадал с количеством полей заголовка, измените split($0,a)на n = split($0,a), а затем измените условие завершения цикла forна i<=nвместо i<=NF. ]. Или измените его на фиксированный номер, если это то, что вы хотите.

-1
19.07.2021, 17:48
0 ответов

Теги

Похожие вопросы