फाइल को कॉपी कैसे करें यदि src / dst के बीच फाइल का आकार भिन्न है?


1

मैं एक फाइल कॉपी करना चाहता हूँ जैसे:

cp --verbose /srcfile /dstfile

लेकिन मैं केवल कॉपी का प्रदर्शन करना चाहता हूं यदि dstfileमौजूद नहीं है या यदि dstfileफाइल की फाइल से अलग है srcfile

यह कैसे किया जा सकता है जैसे cpbash में टूल या अन्य सामान्य फाइल कॉपी टूल का उपयोग करके?

जवाबों:


0

वास्तव में सबसे सुंदर तरीका नहीं है:

if [ -e /dstfile ] ; then
 destsize=$(stat -c %s /dstfile)
 srcsize=$(stat -c %s /srcfile)
 if [ "$srcsize" -ne "$destsize" ] ; then
   cp --verbose /srcfile /dstfile
 fi
fi

आप rsync के अभ्यस्त होने का भी प्रयास कर सकते हैं


हम्म, आदर्श रूप से मुझे एक-लाइनर की आवश्यकता होगी, और जैसे आप कहते हैं कि जटिल लगता है। Rsync के बारे में; क्या आपको लगता है कि यह किसी एकल फ़ाइल को कॉपी कर सकता है या क्या यह हमेशा एक निर्देशिका को इनपुट के रूप में लेता है?
फ्रेड्रिक

ठीक है, एक-लाइनर जरूरी नहीं कि "कम" लगता है, बस आपको सही दिशा में इंगित करना चाहता था। मुझे नहीं पता कि आप वास्तव में क्या हासिल करना चाहते हैं । तो rsyncस्विच के साथ --size-onlyया--checksum
Lenniey
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.