Posts Tagged bash
Concatenate files with progress bar on GNU/Linux
Posted by jcubic in Programming on February 2, 2011
When I download files form rapidshare or other file hosting sites I occasionally download movies that are splited into parts, and to watch the movie they need to be concatenated.
I came up with this bash function which I put in my .bashrc file:
function concat() {
files=${@:1:$(($#-1))}
cat $files | pv -s $(du -cb $files | tail -n1 | cut -d $'\t' -f1) > ${@: -1}
}
If you have files like Movie.avi.001…Movie.avi.020, to concatenate these files just type:
concat Movie.avi.* Movie.avi
And you’ll see progress bar when output file is created.

