Kuru modda rsync çalıştırarak ve daha sonra rsync çıkışında listelenen dosyaların boyutlarını toplayarak iki klasör eşitlerken yeni kopyalanacak dosyaların boyutunu belirlemeye çalışıyorum.
Şu anda dosyaların üst klasörlerine önek eklemede kalıyorum. Sed kullanarak satırlara nasıl önek ekleyeceğimi ve sed kullanarak nasıl kaçacağımı öğrendim, ama bu ikisini birleştiren sıkıntılar yaşıyorum.
Bu kadar uzaklara:
source="/my/source/folder/"
target="/my/target/folder/"
escaped=`echo "$source" | sed -e 's/[\/&]/\\//g'`
du `rsync -ahnv $source $target | tail -n +2 | head -n -3 | sed "s/^/$escaped/"` | awk '{i+=$1} END {print i}'
Bu bash -x myscript.sh'den aldığım çıktı
+ source=/my/source/folder/
+ target=/my/target/folder
++ echo /my/source/folder/
++ sed -e 's/[\/&]/\//g'
+ escaped=/my/source/folder/
+ awk '{i+=$1} END {print i}'
++ rsync -ahnv /my/source/folder/ /my/target/folder/
++ sed 's/^//my/source/folder//'
++ head -n -3
++ tail -n +2
sed: -e expression #1, char 8: unknown option to `s'
+ du
80268
Düzgün nasıl kaçacağına dair herhangi bir fikir çok takdir edilecektir.