Как поместить массивы как столбцы csv в оболочку? - PullRequest
0 голосов
/ 15 февраля 2019

Я пытаюсь написать сценарий оболочки, который ищет строку в выводе моей программы (через регулярное выражение) и сохраняет строку, соответствующую этому регулярному выражению, в переменной для дальнейшего использования.

Например:

output = ./test --sd --sdds 200
re='K=[*]'
if (found a match of re in output)
  print getMatchedStringIfExists(output)
if not exists
  do something else

Итак, в основном я хочу запустить свою программу, после ее завершения, проверить, выводит ли программа "re = 'K = [*]'", если это так, возвращает ту строку, которая соответствует (например, K = [1,2,3,4,54]), в противном случае сделайте что-нибудь еще.

Я просто хочу получить базовое объяснение, как я могу сделать это в сценарии оболочки, если это возможно, конечно.

Заранее спасибо!

ПРИМЕЧАНИЕ: Я получил то, что мне было нужно:

output = $(./test --sd --sdds 200 | grep -o 'K=\[.*.\]')
if [$output != ""]
then
  $_out = "SUCCESFUL"
else
   $_out = "FAILED"
fi

Я все еще не могу сохранить в файле .csv.У меня есть 4 массива, и мне нужно поместить в столбцы файла CSV.Кто-нибудь знает, как это сделать?

Ответы [ 2 ]

0 голосов
/ 15 февраля 2019

Вы можете сделать это непосредственно в if, например:

if ./test --sd --sdds 200 | egrep 'K=\[.*\]' &>/dev/null; then
    # do whatever
else
    # do something else
fi
0 голосов
/ 15 февраля 2019

Да, это возможно.

Веб-поиск "учебника сценариев оболочки" (или "учебника bash", если вы используете именно эту оболочку) вернет много объяснений.

ДляПример:

...