Не ясно, всегда ли присутствует 99999999
или во входном файле может быть более одного такого экземпляра. Итак, вот версия sed
, которая обслуживает все эти ситуации.
Обновление входного файла на месте см. в man sed
(опция -i
).
sed -n '/9999999999/{H;b n}; p; :n; ${g;s/\n//p}' file
.xls - это двоичный формат файла. Если вы в состоянии CAT
эти файлы, то они, вероятно, не на самом деле .xls
файлы в формате, но только по имени.
Я подозреваю, что ваши файлы .xls
- это просто файлы CSV, которые имеют расширение .xls
только в их именах. Вы можете подтвердить формат файла, используя команду файл
.
$ file test.xls
test.xls: Composite Document File V2 Document, Little Endian, Os: Windows, Version 4.0, Code page: 932, Author: kawait, Last Saved By: kawait, Name of Creating Application: Microsoft Excel, Create Time/Date: Wed Dec 20 10:43:55 2000, Security: 0
Теперь формат CSV - это действительно просто формат текстового файла, и не позволяет листам, которые разрешены в двоичном формате XLS или ODS (формат файла электронной таблицы Libreoffice).
Итак, я бы предложил просто создать новый файл в программе Calc Calc LibreOffice, добавляют листы к нему вручную, а затем объединить данные CSV в каждый лист. CALC имеет возможность импортировать данные из файлов CSV, чтобы вы могли использовать этот мастер, чтобы сделать это проще.