Объедините несколько текстовых файлов в один файл

Я использую команду unix pr для объединения нескольких текстовых файлов в один текстовый файл:

pr -F *files > newfile

Каждый файл имеет разную длину, разное количество строк. Я в основном доволен результатом, мне нравится, что он включает в себя имя исходного текстового файла, за которым следует содержимое этого файла. Однако я хотел бы убрать пустые строки между именем исходного текстового файла и его содержимым. Я хочу только пустые строки между различными текстовыми файлами, чтобы отделить каждый. Кроме того, он печатает символ ^L после содержимого каждого текстового файла, и я хотел бы удалить этот символ.

Каждому прочитанному файлу также присваивается номер страницы. Только один файл длиннее 66 строки по умолчанию. этот файл разбивается на 2 «страницы» и разбивается на 2 раздела, разделенных пустыми строками. Можно ли писать этот текст непрерывно, не разбивая его?

Спасибо за любую помощь!

9
задан 11 July 2013 в 09:34

4 ответа

Вы можете использовать утилиту AWK:

awk 'FNR==1{print ""}{print}' *files > newfile

Источник: https://stackoverflow.com/questions/1653063/how-do-i-include-a-blank-line- между-файлами-им-конкатенации-с-кошки

0
ответ дан 11 July 2013 в 09:34

Вы можете использовать cat для выгрузки текста файлов в один файл с помощью:

cat file1 file2 file3 > newfile
0
ответ дан 11 July 2013 в 09:34
for file in *.txt; do (cat "${file}"; echo) >> concatenated.txt; done

Приведенное выше добавит содержимое файла eacb txt в concatenated.txt, добавив между ними новую строку.

0
ответ дан 11 July 2013 в 09:34

Чтобы в файлах были пустые строки:

cat file1 newline file2 newline file3 > newfile

Где «новая строка» в файле с пустой строкой.

0
ответ дан 11 July 2013 в 09:34

Другие вопросы по тегам:

Похожие вопросы: