У меня есть куча больших сжатых файлов, которые я хочу объединить. Проблема в том, что в конце несжатой версии не имеют символов новой строки, поэтому, если я попытаюсь просто скомпоновать их вместе и работать над ними, то последняя строка в одном файле будет соединена с первой строкой в следующем файле (который вызывает ошибку при использовании программного обеспечения, которое я использую). Просто котировка их с новой строкой, вставленной между каждым сжатым файлом, не работает, поскольку я думаю, что gzip обнаруживает символ новой строки и думает обо всем после того, как он «завершает мусор».Uncompress, редактировать, сжимать и объединять файлы
for f in *.gz; do (cat "${f}"; echo) >> all.gz; done;
gzip -d all.gz
gzip: all.gz: decompression OK, trailing garbage ignored
То, что я хотел бы сделать что-то вроде этого:
unzip file1.gz | add a newline char| gzip the output >> output.gz
, а затем сделать то же самое с file2.gz, file3.gz и т.д., и т.д.
Любой предложения?
Это отличная идея и работает очень хорошо. Большое спасибо. – GrahamE