문제

누구든지 Bash Code가 아닌 Bash Code를 사용하여 두 개의 폴더가 동기화되도록 도와 줄 수 있습니까? 이것이 내가 시도한 것과 같이 D2 디렉토리를이 코드와 동기화해야하지만,이 코드를 사용하면 첫 번째 파일을 얻을 수 있습니다. D1에서는 파일의 나머지 부분없이 D2로 복사 할 수 있으며 BASH 파일 에서이 코드를 다시 작성하여 D2와 D1을 동기화하는 가장 좋은 방법은 무엇입니까?Shell 명령이 아닌 Bash 코드로 문제를 해결해야하므로 코드를 도와주고 내 문제를 해결하도록 지시합니다.

#! /bin/bash

di1=$(ls d1)


n=${#di1[@]}


for (( i = 1; i <$n+1 ; i++ )); do

      t=$(find d2 -name ${di1[$i]})

    if [[ $t = '' ]]; then

     cp d1/${di1[$i]} d2

    fi

 done

올바른 솔루션이 없습니다

다른 팁

rsync -avzh /tmp/src /tmp/dst/

동기화가 무엇을 의미하는지 정확히 설명해야합니다.

두 개의 듀스가 있다고 가정 해 봅시다

d1
 L f1 10/25 11:40
 L f2 10/25 10:22
 L f4 10/10 08:01
d2
 L f1 10/25 10:11
 L f2 10/26 09:56
 L f3 10/24 11:37

여기서 D#은 디렉토리이고 F#은 파일입니다 (#은 아직 파일을 의미하지 않으면 하나의 숫자 번호를 의미합니다).

따라서 F4를 D2에 복사하고 F3을 D1에 복사 한 다음 (여기까지 덮어 쓰지 않음) D1/F1과 D2/F2가있는 D2/F1을 복사 (및 덮어 쓰기) D2/F2로 복사하고 싶습니다.

그런 다음 다음으로 끝나야합니다.

d1
 L f1 10/25 11:40
 L f2 10/26 09:56
 L f3 10/24 11:37
 L f4 10/10 08:01
d2
 L f1 10/25 11:40
 L f2 10/26 09:56
 L f3 10/24 11:37
 L f4 10/10 08:01

글쎄, 내가 지금까지 한 모든 일은 그것이 내가 대답 할 수있는 방법에 대한 질문에 대한 당신의 질문을 다시 표현하는 것입니다.

기존 파일을 두 방향으로 업데이트하십시오

cp -ur d1 d2
cp -ur d2 d1

그게 다야.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top