SSH распаковать и изменить имя файла (или получить имя файла, содержащегося в нем) - PullRequest
1 голос
/ 20 октября 2011
/usr/bin/curl http://somewebsite.com/foo.zip -o 4232.zip
unzip -o -q -L 4232.zip
chown 508 /home/me/www/inbound/data/??????.xml
rm -f 4232.zip

Я использую этот SSH-скрипт для загрузки zip-файла с именем foo.zip, переименования файла в 4232.zip, извлечения содержимого.

Моя проблема заключается в том, что zip-файл содержитодин файл, имя которого постоянно меняется.Я не вижу флажок для распаковки, который позволяет мне переименовать файл (ы) внутри почтового индекса.

Как я могу переименовать загадочный файл внутри.В моем непосредственном проекте действительно только один файл.-ИЛИ- Как я могу получить это имя файла, чтобы я мог сменить владельца и использовать его в сценарии PHP, который будет обрабатывать его позже ...

Любая помощь будет принята с благодарностью.

1 Ответ

2 голосов
/ 20 октября 2011

Это скажет вам имя файла .xml в zip

unzip -l z.zip | grep -o  '[^/]*\.xml'

Если вы хотите извлечь и переименовать файл XML

unzip -p z.zip \*.xml | cat > NEWFILE.xml
...