Как разобрать число из вывода SQL - PullRequest
0 голосов
/ 22 июня 2011

Привет, мне нужно проанализировать число из вывода sql:

  COUNT(*)
----------
       924
       140
       173
       583
       940
        77

6 rows selected.

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

1 Ответ

2 голосов
/ 22 июня 2011

Вопрос очень неясен, поэтому я сделаю некоторые предположения. Вы получите вышеприведенный вывод из sql либо в файл, либо в stdout, и вы хотите проверить, что первая строка, содержащая цифры, меньше 10.

Это один способ сделать это.

sed -n '3p' log | awk '{ print ($1 < 10) ? "true" : "false" }'
  • sed используется для печати 3-й строки из вашего примера
  • это затем передается в awk, что делает сравнение.

... или собрать его вместе в bash

#!/bin/bash

while read variable;
do
    if [[ "$variable" =~ ^[0-9]+$ ]]
        then
        break
    fi
done < input

if [ "$variable" -lt 10 ]
    then
    echo 'less than 10'
    # add your code here, eg
    # touch /path/to/file/to/be/created
fi
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...