任何線索只有在目標文件較小時才能移動文件並覆蓋目標目錄中的文件?移動覆蓋較小的文件
我正在尋找一些bash解決方案,但無法找到任何支持標準通配符。
僞代碼看起來像:
WHEN mv -i is triggering prompt AND input_file_size > target_file_size:
mv input_file target_file
任何線索只有在目標文件較小時才能移動文件並覆蓋目標目錄中的文件?移動覆蓋較小的文件
我正在尋找一些bash解決方案,但無法找到任何支持標準通配符。
僞代碼看起來像:
WHEN mv -i is triggering prompt AND input_file_size > target_file_size:
mv input_file target_file
猛砸不允許你在進程獲取文件的大小。 你可以做這樣的事情
sz0=$(stat -c%s input_file)
sz1=$(stat -c%s target_file)
if ((sz1 < sz0)); then mv input_file target_file; fi
,但如果你想在一個循環中運行這個不要指望hyperspeed。
不知道您是否可以通過文件大小輕鬆檢查,但mv具有用於更新的'-u'開關,用於比較文件日期。這對你有用嗎? – Robert
我知道'-u'開關,但我需要在這種情況下比較大小。例如。對於靜態目錄和沒有通配符的情況,很容易「觸摸」更大的文件,然後使用「-u」,但這也會使事情變得複雜。 – null
較小的目標文件中是否存在與較大輸入文件的開頭相同的數據? – Armali