tcopy команда сценария сборки для сравнения файлов (q c) на ленте и на диске - PullRequest
0 голосов
/ 11 апреля 2020

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

#!/bin/bash
drv=/dev/st0
    echo -n "no.y files on tape ... : "
    total_files=`mt -f $drv eod; mt -f $drv status | grep "File number=" | awk -F"=" '{print $2}' | awk -F"," '{print $1}'`
    echo "$total_files"
    mt -f $drv rewind
    for i in `seq 0 $total_files`;do
    printf -v i '%04d' $i
    echo -n --- "file${i}" - 
    tcopy $drv
    stat=$?
    echo "status-$stat : `date`"
    done

Вывод:

scan no. files on tape ... : 41
--- file0000 -file 0: block size 65536: 1 records
file 0: eof after 1 records: 65536 bytes
file 1: block size 65536: 771 records
file 1: eof after 771 records: 50528256 bytes
file 2: block size 65536: 762 records
file 2: eof after 762 records: 49938432 bytes
file 3: block size 65536: 1852 records
file 3: eof after 1852 records: 121372672 bytes
...
file 35: block size 65536: 1761 records
file 35: eof after 1761 records: 115408896 bytes
file 36: block size 65536: 1 records
file 36: eof after 1 records: 65536 bytes
file 37: block size 65536: 1 records
file 37: eof after 1 records: 65536 bytes
eot
total length: 2946433024 bytes
status-0 : Sat Apr 11 14:22:26 SGT 2020

my Предположим, что результат должен быть примерно таким:

    scan no. files on tape ... : 41
    --- file0000 - file 0: block size 65536: 1 records ... eof after 1 records: 65536 bytes
    --- file0001 - file 1: block size 65536: 771 records ... eof after 771 records: 50528256 bytes
...