확장자는 다르지만 콘텐츠가 유사할 수 있는 파일을 비교하세요.

확장자는 다르지만 콘텐츠가 유사할 수 있는 파일을 비교하세요.

그래서 문제는 .txt와 .doc와 같이 두 가지 다른 확장자를 가진 파일을 비교하고 복사해야 한다는 것입니다. 이러한 파일은 이름은 동일하지만 내용이 다를 수 있습니다. play.txt와 play.doc의 내용이 동일하다면 .doc 버전을 복사해야 합니다. 단, 내용이 다를 경우에는 두 파일을 모두 복사해야 합니다.

답변1

파일을 비교하고 복사할 파일을 선택하려면 실제로 비교해야 합니다.콘텐츠. (and) 와 .doc같은 독점 파일 형식에서는 이것이 어려울 수 있습니다 .docx.

당신은 할 수첫 번째.doc헤드리스 모드에서 libreoffice를 사용하여 파일을 텍스트로 변환합니다.
libreoffice --headless --convert-to txt:text mydocument.doc

두번째.docstep에서는 파일을 비교할 수 있지만 변환된 파일이 버전과 정확히 동일한 내용을 가질지는 의심스럽습니다 .txt. 이로 인해 프로그래밍 방식으로 파일을 비교하기가 어렵습니다(불가능하지는 않더라도).

답변2

두 파일이 모두 text 인 경우 이 diff명령을 사용할 수 있습니다.

FILE_ONE=/home/file_one.txt
FILE_TWO=/home/file_two.txt

if [ -n "$(diff $FILE_ONE $FILE_TWO)" ];then
    cp $FILE_ONE /new_place/
    cp $FILE_TWO /new_place/
else
    cp $FILE_ONE /new_place/
fi

반환된 항목이 있는지 확인합니다 diff. 그렇다면 파일이 다르므로 둘 다 복사해야 합니다. 그렇지 않으면 파일 1만 복사합니다.

관련 정보