Я очень новичок в сценарии оболочки и нашел способ сравнить файлы с помощью сценария оболочки при использовании md5sum
.
Я хочу сравнить файлы Options_old
и Options_new
в сценарии оболочки и определите новое значение поля Ticker, добавленное в новый файл. Для этого нового значения поля тикера я хочу создать файл CSV.
Например, если мы сравним Options_old
и Options_new
файлы и проверим, есть ли в файле Options_new
новое значение поля тикера 510051 2 C2.50
и 510052 2 P2.50
добавлено, и я хочу создать и напечатать это значение в файле CSV.
Файл Options_new.out.gz * Файл 1015 *
START-OF-FILE
PROGRAMNAME=getdata
DATEFORMAT=yyyymmdd
START-OF-FIELDS
TICKER
EXCH_CODE
END-OF-FIELDS
TIMESTARTED=Wed Feb 12 19:30:38 JST 2020
START-OF-DATA
510051 CH 02/26/20 C2.5 Equity|0|75|510051 2 C2.50|CH
510052 CH 02/26/20 P2.5 Equity|0|75|510052 2 P2.50|CH
510050 CH 02/26/20 C2.55 Equity|0|75|510050 2 C2.55|CH
510050 CH 02/26/20 P2.55 Equity|0|75|510050 2 P2.55|CH
END-OF-DATA
DATARECORDS=1140
TIMEFINISHED=Wed Feb 12 19:32:50 JST 2020
END-OF-FILE
Файл Options_old.out.gz
START-OF-FILE
PROGRAMNAME=getdata
DATEFORMAT=yyyymmdd
START-OF-FIELDS
TICKER
EXCH_CODE
END-OF-FIELDS
TIMESTARTED=Wed Feb 12 19:30:38 JST 2020
START-OF-DATA
510050 CH 02/26/20 C2.5 Equity|0|75|510050 2 C2.50|CH
510050 CH 02/26/20 P2.5 Equity|0|75|510050 2 P2.50|CH
510050 CH 02/26/20 C2.55 Equity|0|75|510050 2 C2.55|CH
510050 CH 02/26/20 P2.55 Equity|0|75|510050 2 P2.55|CH
END-OF-DATA
DATARECORDS=1140
TIMEFINISHED=Wed Feb 12 19:32:50 JST 2020
END-OF-FILE
Я запустил код, но не понял, как сравнить конкретные поле, а затем создать CSV-файл:
#!/bin/sh
OLD_PATH="/opt/old"
NEW_PATH="/opt/new"
FILES="${FILES} Options_new.out.gz Options_old.out.gz"
for FILE in `echo ${FILES}`
do
MD5SUM_NEW=`md5sum ${OLD_PATH}/${FILE} | awk '{print $1}'`
MD5SUM_OLD=`md5sum ${NEW_PATH}/${FILE} | awk '{print $1}'`
if [ "${MD5SUM_NEW}" != "${MD5SUM_OLD}" ]; then
echo "Found new Version of ${FILE}"
#currently i am comparing the data from the whole file but i want to compare the data only for the Ticker value in the both files
#here create new csv file with the new ticker value found in Options_new.out.gz file
fi
exit ${EXIT}