Запрос: я хочу сохранить исходное имя файла, когда я сжимаю файл, используя поток
Я сжимаю файл с потоком (очень большой файл) с помощью 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, а не test.csv
Я знаю, что могу использовать параметр -N для получения исходного имени файла
gunzip -N test.gz
но файл используется с данными mysql load data 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
качестве имени файла?