Просьба: я хочу сохранить исходное имя файла при сжатии файла с помощью потока.
Я сжимаю файл потоком (очень большой файл) с помощью 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 с именем внутри?






По умолчанию gzip сохраняет исходное имя файла и время модификации файла в заголовке gzip. Однако gzip нужно будет вызывать с именем файла. Например.
gzip foo
mv foo.gz bar.gz
gunzip -N bar.gz
будет производить foo.
Что произойдет, если вы используете
test.csv.gzв качестве имени файла?