(из StackOverflow)
for i in *.src; do echo "$i"; echo "---"; cat "$i"; echo ; done > result.txt
Это приведет к result.txt, содержащему:
- Имя файла
- разделитель (---)
- Содержимое файла .src
- Повторяйте сверху, пока все * .src файлы не будут сделаны
Если ваш исходный код имеет другое расширение, просто измените при необходимости. Вы также можете отредактировать бит echo, чтобы добавить необходимую информацию (например, echo «имя файла $ 1» или изменить разделитель или добавить разделитель конца файла).
У ссылки есть другие методы, поэтому используйте любой метод, который вам больше нравится. Я нахожу этот вариант наиболее гибким, хотя с небольшой кривой обучения.
Код будет отлично работать на терминале bash (только что протестирован на VirtualBox Ubuntu)
Если вас не интересует имя файла, а просто содержимое файлов, слитых вместе:
cat *.src > result.txt
будет отлично работать
Другой предложенный метод был:
grep "" *.src > result.txt
Который будет префикс каждой строки с именем файла, что может быть полезно для некоторых людей, лично я нахожу это слишком много информации, поэтому мое первое предложение - цикл for выше.
Благодарим тех, кто на форуме StackOverflow.
РЕДАКТИРОВАТЬ: Я только что понял, что в качестве конечного результата вы используете именно HTML или PDF, некоторые решения, которые я видел, это распечатать текстовый файл в PostScript, а затем преобразовать PostScript в PDF. Некоторый код, который я видел:
groff -Tps result.txt > res.ps
затем
ps2pdf res.ps res.pdf
(Требуется, чтобы у вас был ghostscript)
Надеюсь это поможет.