여러 파일 비교

여러 파일 비교

다른 위치에 저장된 여러 파일의 차이점을 비교하거나 찾는 bash 스크립트를 원합니다.

파일 아래/tmp/test/

  • A.txt
  • B.txt
  • C.txt

/home/oldtest/ 아래의 파일과 비교

  • A.txt
  • B.txt
  • C.txt

건강 상태:

  1. 파일은 /tmp/test/A.txt와만 비교됩니다 /home/oldtest/A.txt(다른 파일과 유사 - B.txt와 비교 B.txt).

  2. 변경 사항이 발견된 경우: 상태는 "A.txt 파일에 수정 필요"여야 합니다.

답변1

diffGNU diffutils에는 재귀 비교 옵션이 있습니다:

diff -qrs /dir/A /dir/B

디렉터리 비교: -q조용히(즉, 차이점이 인쇄되지 않고 파일이 다르다는 것만 보고함) -r재귀적으로(모든 하위 디렉터리가 포함된 전체 트리) -s동일한 파일을 보고합니다.

답변2

cd /tmp/test
for i in *.txt; do diff -q $i /home/oldtest/$i; done

서로 다른 각 파일에 대해 "파일 A.txt와 ../home/oldtest/A.txt가 다릅니다."가 출력됩니다.

답변3

cd /tmp/test/;
for x in *; do \
  cmp -s "$x" /home/oldtest/"$x" || echo "Modification required in file $x";
done;|more

답변4

누군가가 당신을 위해 스크립트를 작성해 줄지는 모르겠지만, 당신은 그것을 사용할 수 있습니다 diff. diff -q.

예를 들어:

$ diff -q .vimrc .bashrc
Files .vimrc and .bashrc differ

자동화하려면 스크립트를 사용할 수 있습니다.

Bash 스크립트 작성 방법에 대한 좋은 참고 자료를 보려면 여기를 확인하세요.http://bash.cyberciti.biz/guide/Main_Page

관련 정보