Распечатать таблицу в Баш - PullRequest
       29

Распечатать таблицу в Баш

0 голосов
/ 27 октября 2019

У меня есть проблема, чтобы напечатать все значения из массива, чтобы напечатать красивую таблицу, используя функцию printf или echo. Я пробовал просто, но это не в том порядке, в котором я хотел бы.


    for i in ${!R[@]}

    do

      printf "%-20s" ${R[i]}

      printf "\n"

    done

что у меня есть что я хочу

Чтоя хочу

 mteEventComment mteEventActions mteEventEnabled mteEventEntryStatus
                           "80 "            true              active
                           "80 "            true              active
                           "80 "            true              active
                           "80 "            true              active
                           "80 "            true              active
                           "80 "            true              active

Что у меня есть

 mteEventComment mteEventActions mteEventEnabled mteEventEntryStatus
       "80          "        "80          "        "80
         "        "80          "        "80          "
       "80          "       true       true       true
      true       true       true     active     active
    active     active     active     active
script2.sh: line 64: "80: syntax error: operand expected (error token is ""80")



 content of **R array**: First 6 are empty
         "80 " "80 " "80 " "80 " "80 " "80 " true true true true true true active active active active active active

У меня есть заголовок

printf "$header" "mteEventComment" "mteEventActions" "mteEventEnabled" "mteEventEntryStatus"


mteEventComment mteEventActions mteEventEnabled mteEventEntryStatus

под этим мне нужен мой массив в точном порядке

1 Ответ

0 голосов
/ 27 октября 2019

Учитывая, что данные в R содержат значения (и, возможно, ключи) со специальными символами (кавычки, пробелы), вы хотите заключить их в кавычки:

for i in "${!R[@]}" 
    do
      printf "%-20s\n" "${R[i]}"
    done
...