Пробовал много вещей - Нет сетей доступны на Wi-Fi с Broadcom 43142

Вот мой грубый скрипт для проверки файлов в двух папках, и если у какого-либо файла есть проблема - скопируйте его. Я бы предложил использовать это после копирования файлов.

Основная идея - использовать hexdump для проверки файлов. Сценарий принимает два каталога в качестве входов. Ограничение: обрабатывает только файлы внутри каталога, а не подкаталоги (потому что я еще не знаю, как это сделать). Таким образом, вы можете использовать это, если у вас не так много папок, но если у вас несколько папок и подпапок, запуск сценария вручную для каждого каталога может быть утомительным. Пища для размышлений: создать список папок и вложенных папок для источника и назначения, а затем автоматизировать скрипт, проходящий через два списка.

Ограничение:

У меня есть tester2 как исходный каталог и testerdir в качестве места назначения, где я уже скопировал файлы. В строке 123 я запускаю скрипт для проверки файлов, которые копируются. В строке 124 я меняю содержимое файла tester2 / hello (измените его содержимое с «TEST» на «TESTER»). В строке 125 вы можете видеть, что скрипт обнаруживает, что файл hello был изменен / изменен в размере / коррумпированности и копирует файл заново. В строке 126 вы можете видеть, что файл hello в папке назначения соответствует папке источника.

Сценарий

#!/bin/bash
# Author: Serg Kolo
# Date: Mon May 25 01:19:59 MDT 2015
# Description: script to verify files in  two directories
# written for http://askubuntu.com/q/627817/295286
copy_the_file ()
{
  cp -f  "$SOURCE_DIR"/"$filename" "$DEST_DIR"/"$filename"
}


if [ $# -ne 2  ]; then
    printf "Usage: verify-files.sh  SOURCE_DIR  DEST_DIR"
    exit 1
fi

SOURCE_DIR="$1"
DEST_DIR="$2"

IFS=":"
for filename in $(find "$SOURCE_DIR" -maxdepth 1 -type f -printf "%f:" | sed 's/.\///g'   )
do

#echo "$filename"
#echo "$DEST_DIR"/"$filename"




    if [ -e "$DEST_DIR"/"$filename"   ];then
        hexdump "$SOURCE_DIR"/"$filename" > .dump1
            hexdump "$DEST_DIR"/"$filename" > .dump2
            diff .dump1 .dump2 > /dev/null
        if [ $? -eq 0  ];then
            echo " "$filename" is OK  "
        else 
            echo ""$filename" has a problem"
            copy_the_file
        fi
    else 
        copy_the_file
    fi


done
0
задан 19 March 2018 в 20:56

0 ответов

Другие вопросы по тегам:

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