Я использую команду unix pr
для объединения нескольких текстовых файлов в один текстовый файл:
pr -F *files > newfile
Каждый файл имеет разную длину, разное количество строк. Я в основном доволен результатом, мне нравится, что он включает в себя имя исходного текстового файла, за которым следует содержимое этого файла. Однако я хотел бы убрать пустые строки между именем исходного текстового файла и его содержимым. Я хочу только пустые строки между различными текстовыми файлами, чтобы отделить каждый. Кроме того, он печатает символ ^L
после содержимого каждого текстового файла, и я хотел бы удалить этот символ.
Каждому прочитанному файлу также присваивается номер страницы. Только один файл длиннее 66 строки по умолчанию. этот файл разбивается на 2 «страницы» и разбивается на 2 раздела, разделенных пустыми строками. Можно ли писать этот текст непрерывно, не разбивая его?
Спасибо за любую помощь!
Вы можете использовать утилиту AWK:
awk 'FNR==1{print ""}{print}' *files > newfile
Вы можете использовать cat
для выгрузки текста файлов в один файл с помощью:
cat file1 file2 file3 > newfile
for file in *.txt; do (cat "${file}"; echo) >> concatenated.txt; done
Приведенное выше добавит содержимое файла eacb txt в concatenated.txt, добавив между ними новую строку.
Чтобы в файлах были пустые строки:
cat file1 newline file2 newline file3 > newfile
Где «новая строка» в файле с пустой строкой.