Я совершенно новичок в этих вещах, и мне действительно нужна помощь в этом.
Я пытаюсь создать сценарий оболочки, который будет извлекать данные из одной или нескольких баз данных, экспортировать их в CSV, объединить эти данные в один файл и применить некоторые формулы к файлу, например SUM, или проверить разницумежду числами.Я должен иметь возможность обновлять или заменять файл, если формулы будут по-прежнему применяться к новому файлу.
Что я получил до сих пор:
mysql -h host -u user -ppassword -P port
"query" |tee file1.csv
# I didn't know how to have multiple queries for the same DB
mysql -h host2 -u user2 -ppassword2 -P port
"query2" |tee file2.csv
sed -i 'li\FILE1' file1.csv #just to add a title
echo '' >> file1.csv #just to add a space at the end
sed -i 'li\FILE2' file2.csv
echo '' >> file2.csv
cat file1.csv file2.csv > file.csv
Это примеркак выглядит мой файл file.csv, но на самом деле он содержит больше похожих ячеек:
A B C
1 C.Installs
2 date
3 2019-02-01 100
4 2019-02-02 131
5 2019-02-03 222
6 2019-02-04 180
7 2019-02-05 213
8
9 A.Installs
10 Date
11 2019-02-01 23
12 2019-02-02 42
13 2019-02-03 34
14 2019-02-04 35
15 2019-02-05 21
Теперь каждый раз, когда я запускаю команду оболочки, он должен обновлять / заменять файл file.csv при сохранении или повторном добавлении формул дляконкретные клетки.Пример для BEFORE и AFTER:
Первый запуск сценария оболочки:
A B C
1 C.Installs
2 date
3 2019-02-01 100
4 2019-02-02 131
5 2019-02-03 222
6 2019-02-04 180
7 2019-02-05 213
8 846 #Formula of SUM for the 5 values
9 A.Installs
10 Date
11 2019-02-01 23
12 2019-02-02 42
13 2019-02-03 34
14 2019-02-04 35
15 2019-02-05 21
16 155 #Formula of SUM for the 5 values
17
18 691 #Formula of the difference between the two totals
Второй запуск сценария оболочки:
A B C
1 C.Installs
2 date
3 2019-02-02 131
4 2019-02-03 222
5 2019-02-04 180
6 2019-02-05 213
7 2019-02-06 158
8 904 #Formula of SUM for the 5 values
9 A.Installs
10 Date
11 2019-02-02 42
12 2019-02-03 34
13 2019-02-04 35
14 2019-02-05 21
15 2019-02-06 31
16 163 #Formula of SUM for the 5 values
17
18 741 #Formula of the difference between the two totals
Так что я думаю, чтоПервый шаг - найти способ применить формулы к CSV-файлу.
. Поэтому мне нужно опираться на то, что у меня есть, может быть, что-то с awk, я не уверен, как поступить, если честно, совершенно новый вэто.
Пожалуйста, будьте проще.
Спасибо