Здесь:
#!/usr/bin/env ruby
balance = {}
while line = gets
if line =~ /^\s*"(\S+)"\s* {/
id = $1
end
if line =~ /^\s*dollar-balance=([\d\.]+)/
dollars = $1
end
if id and dollars
balance[id] = dollars.to_i
id = nil
dollars = nil
end
end
balance.sort_by { |id, dollars| dollars }.reverse.each do |id, dollars|
puts "#{id} #{dollars}"
end
Shell-инструменты уродливы, есть языки получше.
Ваша команда не имеет завершающего '/' в аргументах каталога (по крайней мере, первый), поэтому rsync пытается скопировать первый каталог как новый каталог во второй каталог.