したがって、問題は、.txtと.docなど、2つの異なる拡張子を持つファイルを比較してコピーする必要があることです。これらのファイルの名前は同じですが、内容が異なる場合があります。 play.txtとplay.docの内容が同じ場合は、.docバージョンをコピーする必要があります。ただし、内容が異なる場合は、両方のファイルをコピーする必要があります。
答え1
ファイルを比較してコピーするファイルを選択するには、実際に比較する必要があります。コンテンツ。 (and)の.doc
ような排他的なファイル形式では、これは難しいかもしれません.docx
。
あなたはできます最初.doc
ヘッドレスモードでは、libreofficeを使用してファイルをテキストに変換します。
libreoffice --headless --convert-to txt:text mydocument.doc
ㅏ第二.doc
stepではファイルを比較できますが、変換されたファイルがバージョンとまったく同じ内容を持つかどうかは疑問です.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のみをコピーします。