Anna_Repina
@Anna_Repina
Хочу все знать

Как объединить скрипты и сделать вывод таблицей?

Привет!
Есть множество готовых скриптов, написанных по одной схеме (примеры укажу ниже)
cat /proc/cpuinfo | grep 'model name'| awk '{print $4 " " $5 " " $6 " " $7 " " $8 "  " $9 " " $10 }'|uniq
COUNT=`cat /proc/cpuinfo | grep 'model name' | wc -l`
echo -e "\e[1;93mProcessors have $COUNT cores"
if ((COUNT == 48))
 then
  echo -e "${G}TEST PASSED${W}"
    echo "OK">> /home/tester/result.sh
 else
  echo -e "\e[1;31m TEST NOT PASSED" 
  echo "NOT">> /home/tester/result.sh
fi


ВЫВОД :
11th Gen Intel(R) Core(TM) i5-1135G7 @ 2.40GHz
Processors have 8 cores
TEST NOT PASSED


COUNT=`dmidecode -t 17 | grep -A 18 'Memory Device' | grep -c 'Configured Memory Speed: 2400\|Configured Memory Speed: 2666\|Configured Memory Speed: 3200\|Configured Memory Speed: 2933'`

echo -e "${O} installed RAM strips : ${COUNT} "

if ((COUNT ==16))
 then
  echo -e "${G}TEST PASSED"
  echo "OK">> /home/tester/result.sh
 else
  echo -e "\e[1;31m TEST NOT PASSED" 
  echo "NOT">> /home/tester/result.sh
fi

Вывод
installed RAM strips : 16
TEST PASSED

И остальные по аналогии.

Хотелось бы каким то образом впихнуть это в таблицу на подобии этого63a00df5a1b19008496479.png

Но для использования csvlook нужен какой-то файл
{ echo Number:ID:Cost; cat file; } | csvlook


Как бы все это провернуть?
  • Вопрос задан
  • 80 просмотров
Решения вопроса 1
xotkot
@xotkot
хорошо есть и хорошо весьма
вы конечно мастер путанных вопросов, но в принципе понятно чего вы добиваетесь, поэтому просто приведу маленький пример, а там уже переделаете под свои нужды
допустим у нас есть несколько файлов с результатами в виде одной строки
как пример
echo "ОК" > {biosinfo,meminfo,cpuinfo}.result
создадим три файла которые содержат значение "OK"

там же создадим скрипт results_table.sh
#!/usr/bin/env bash

FILEPATH_BIOSINFO_RESULT="biosinfo.result"
FILEPATH_MEMINFO_RESULT="meminfo.result"
FILEPATH_CPUINFO_RESULT="cpuinfo.result"

BIOSINFO_RESULT=$(cat "$FILEPATH_BIOSINFO_RESULT")
MEMINFO_RESULT=$(cat "$FILEPATH_MEMINFO_RESULT")
CPUINFO_RESULT=$(cat "$FILEPATH_CPUINFO_RESULT")

TABLE="TEST;RESULTS
BIOS ver;$BIOSINFO_RESULT
Memory;$MEMINFO_RESULT
CPU;$CPUINFO_RESULT"

echo "$TABLE" | csview -d";"

здесь мы прописываем в переменную TABLE нужную нам информацию в виде текстового CSV формата, а затем с помощью утилиты csview выводим в виде таблицы

результат работы скрипта
┌──────────┬─────────┐
│ TEST     │ RESULTS │
├──────────┼─────────┤
│ BIOS ver │ ОК      │
│ Memory   │ ОК      │
│ CPU      │ ОК      │
└──────────┴─────────┘
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Выглядит это как бред сивой кобылы
ты собираеш информацию из собраного списка сохраняешь ее в текстовый файл называя его баш скрптом хотя в нем только текст, пусть даже в нем есть что-то в начале но по факту это ничего не меняет.
При этом ты задаешь достаточно простой вопрос по башу
Давай лучше с начала
ЧТО ты хотел сделать изначально ?
Что должно делать это художество в конце?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы