Neste caso em particular, cat book??.html > book.html
funcionará bem, se você não se importar com o formato HTML adequado.
Para um caso mais geral, digamos que você tenha "book1.html" em vez de "book01.html", "book2.html" em vez de "book02.html" e assim por diante. Os nomes dos arquivos não classificam lexicalmente da mesma forma que logicamente. Você pode fazer algo assim:
(echo book?.html | sort; echo book??.html | sort) | xargs cat > book.html
Então, em geral: script_generating_file_names_in_order | xargs cat > all_one_file
Esse idioma pode percorrer um longo caminho.