shell - Copy all files in directory except ".txt" and not to replace existing files -
i have copy file source directory destination directory , skip file extension ".txt" , not replace file if present in destination directory
example
source directory
    /a/aone.js     /a/atwo.js     /b/bone.txt     /b/btwo.js     destination directory
    /a/atwo.js   then should copy
    /a/aone.js     /b/btwo.js   and skip "/a/atwo.js" because present in destination folder , skip "/b/bone.txt" because extension ".txt"
i tried command not work
 find /path/to/source/ \( ! -name "*.txt" \) -type f | cp -n /path/to/destination/ -r   cp -n /path/to/source/*(!*.txt) /path/to/destination/ -r      
assuming can use rsync, (vaz verbose, archive , compress - believe other options self explanatory)
rsync -vaz --exclude "*.txt" /path/to/source/ /path/to/destination/      
Comments
Post a Comment