Сохранить имя файла при сжатии файла в потоке bash

Просьба: я хочу сохранить исходное имя файла при сжатии файла с помощью потока.

Я сжимаю файл потоком (очень большой файл) с помощью gzip -9

gunzip -c ./test.zip | sed 's/;;/;0;/g' | sed 's/,/;/g' | sed 's/xy_ign/xy_ign_latitude;xy_ign_longitude/' | sed 's/xy_ign/xy_geopad_latitude;xy_geopad_longitude/' | gzip -9 >test.gz

когда я распаковываю свой файл

gunzip test.gz

имя файла результата - контрольная работа, а не test.csv

Я знаю, что могу использовать параметр -N для получения исходного имени файла

gunzip -N test.gz

но файл используется с загружаемыми данными mysql infile, а для infile загружаемых данных требуется имя файла для правильной работы

mysql -u user -p -e "LOAD DATA LOCAL INFILE '/tmp/test.gz' INTO TABLE test FIELDS TERMINATED BY ';' LINES TERMINATED BY '\n' ; SHOW WARNINGS" test_db

Как я могу получить файл gzip с именем внутри?

Что произойдет, если вы используете test.csv.gz в качестве имени файла?

l'L'l 24.05.2018 17:40
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
В предыдущем посте мы создали функциональность вставки и чтения для нашей динамической СУБД. В этом посте мы собираемся реализовать функции обновления...
Документирование API с помощью Swagger на Springboot
Документирование API с помощью Swagger на Springboot
В предыдущей статье мы уже узнали, как создать Rest API с помощью Springboot и MySql .
Роли и разрешения пользователей без пакета Laravel 9
Роли и разрешения пользователей без пакета Laravel 9
Этот пост изначально был опубликован на techsolutionstuff.com .
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
0
1
55
1

Ответы 1

По умолчанию gzip сохраняет исходное имя файла и время модификации файла в заголовке gzip. Однако gzip нужно будет вызывать с именем файла. Например.

gzip foo
mv foo.gz bar.gz
gunzip -N bar.gz

будет производить foo.

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