If you are just going to replicate the file tree in whole and need only the total size in bytes:
Code:
(cat SRC|while read f;do du -B1 "$f";done|awk '{t+=$1;}END{print t;}')
If you need the size in K (1024) bytes:
Code:
(cat SRC|while read f;do du -B1024 "$f";done|awk '{t+=$1;}END{print t;}')
These commands will run a bit slow. Give them time. And they will have a slight under-estimate because they do NOT count the space needed for directories. And don't try to do megabytes this way, since it will round up small files way more than their actual block allocation.
Note that these sizes will reflect allocated sizes. If any files are "sparse" (that means any blocks of all bits being zero is just not allocated), the actual allocated size will be small, and a copy operation without a sparse option enabled would make the new files larger. If you are doing the copy with the "cp" command then you should use the "--sparse=always" option.
How are you planning to do the file copying?