diff двух файлов из командного вывода [закрыто]

Похоже, вам нужно выбрать три файла на основе строки даты и scpих в другом месте. Это можно сделать с помощью

#!/bin/sh

thedate="$1"

scp "/nrtrdepath/AuditReport_SL_nrtrde_$thedate.csv" \
    "/dcs/SL_AUDIT_REPORT/AuditReport_SL_ICT_$thedate.csv.gz" \
    "/dcs/SL_AUDIT_REPORT/AuditReport_SL_BI_$thedate.csv.gz" \
    cmb@172.23.1.136:/tmp/SL_Audit_Report/

. Вы должны запустить это с помощью

$ sh ./script "datestring"

, где строка даты— это строка, которую вы хотите использовать в качестве даты в имени файла.

Это работает, поскольку scpможет копировать несколько файлов в одно место точно так же, как cp.

С некоторой проверкой ошибок:

#!/bin/sh

thedate="$1"

if [ ! -f "/nrtrdepath/AuditReport_SL_nrtrde_$thedate.csv" ]; then
    printf 'AuditReport_SL_nrtrde_%s.csv is missing\n' "$thedate" >&2
    do_exit=1
fi
if [ ! -f "/dcs/SL_AUDIT_REPORT/AuditReport_SL_ICT_$thedate.csv.gz" ]; then
    printf 'AuditReport_SL_ICT_%s.csv is missing\n' "$thedate" >&2
    do_exit=1
fi
if [ ! -f "/dcs/SL_AUDIT_REPORT/AuditReport_SL_BI_$thedate.csv.gz" ]; then
    printf 'AuditReport_SL_BI_%s.csv is missing\n' "$thedate" >&2
    do_exit=1
fi

if [ "$do_exit" -eq 1 ]; then
    echo 'Some files are missing, exiting' >&2
    exit 1
fi

if ! scp "/nrtrdepath/AuditReport_SL_nrtrde_$thedate.csv" \
         "/dcs/SL_AUDIT_REPORT/AuditReport_SL_ICT_$thedate.csv.gz" \
         "/dcs/SL_AUDIT_REPORT/AuditReport_SL_BI_$thedate.csv.gz" \
         cmb@172.23.1.136:/tmp/SL_Audit_Report/
then
    echo 'Errors executing scp' >&2
else
    echo 'Transfer is done.'
fi
0
25.01.2018, 03:48
1 ответ

Вы можете использовать:

diff "$(find. -type f -name 'diff')" "$(find. -type f -name 'diff2')"

Таким образом, вы можете искать файл diff , искать файл diff2 и сравнивать их с помощью инструмента diff .

1
28.01.2020, 02:32

Теги

Похожие вопросы