awk 'BEGIN{FS=OFS=";"} {if($3 ~ /^[0-9]/) {$3=";"$3};print}'
a='4535;First Name Last Name;9995554443;0;0;0;9998887744
4523;First Name Last Name;Some Comment //with numbers [etc];9995554443;0;0;0;9998887744'
echo "$a" |awk 'BEGIN{FS=OFS=";"} {if($3 ~ /^[0-9]/) {$3=";"$3};print}' |csview -d';'
┌──────┬──────────────────────┬───────────────────────────────────┬────────────┬───┬───┬───┬─────────────┐
│ 4535 │ First Name Last Name │ │ 9995554443 │ 0 │ 0 │ 0 │ 9998887744 │
├──────┼──────────────────────┼───────────────────────────────────┼────────────┼───┼───┼───┼─────────────┤
│ 4523 │ First Name Last Name │ Some Comment //with numbers [etc] │ 9995554443 │ 0 │ 0 │ 0 │ 9998887744 │
└──────┴──────────────────────┴───────────────────────────────────┴────────────┴───┴───┴───┴─────────────┘
В скрипте bash я создаю переменную которая вытаскивает из этой строки S4BZJ045 следующим образом:
SystemName=$(cat server_out.db | grep 'SystemName' | awk '{print $2}' )
SystemName=$(awk '/SystemName/{printf $2}' server_out.db)
В ответ получаю NotOK, я понимаю, что проблема в лишних символах в переменной SystemName. Проверял через WC: