How to move all OOXML (Word .docx/Excel .xlsx) files to other directory based on file content, ignoring the filename
This command will identify all OOXML files such as .xlsx
or .docx
in a directory recursively using the file
command (looking for application/vnd.openxmlformats-officedocument
MIME types) and move those to a different directory.
mkdir -p ../Documents && find . -type f -exec sh -c '
case $( file -bi "$1" ) in (application/vnd.openxmlformats-officedocument*) exit 0; esac
exit 1' sh {} \; -exec mv -v --backup=numbered {} ../Documents \;
Based on this StackExchange post. Also see How to move all images to other directory based on file content, ignoring the filename and How to move all videos to other directory based on file content, ignoring the filename and How to move all PDF files to other directory based on file content, ignoring the filename