SSH解压并更改文件名(或获取其中包含的文件名)

SSH解压并更改文件名(或获取其中包含的文件名),ssh,unzip,Ssh,Unzip,我正在使用这个SSH脚本下载一个名为foo.zip的zip文件,将该文件重命名为4232.zip,解压内容 我的问题是zip文件包含一个名称不断变化的文件。我看不到允许我重命名zip中的文件的解压标志 我如何重命名里面的神秘文件。在我的直接项目中实际上只有一个文件。 -或- 我怎样才能得到那个文件名,这样我就可以更改所有权,并在稍后处理它的PHP脚本中使用它 任何帮助都将不胜感激 这将告诉您zip文件中.xml文件的名称 /usr/bin/curl http://somewebsite.com/

我正在使用这个SSH脚本下载一个名为foo.zip的zip文件,将该文件重命名为4232.zip,解压内容

我的问题是zip文件包含一个名称不断变化的文件。我看不到允许我重命名zip中的文件的解压标志

我如何重命名里面的神秘文件。在我的直接项目中实际上只有一个文件。 -或- 我怎样才能得到那个文件名,这样我就可以更改所有权,并在稍后处理它的PHP脚本中使用它


任何帮助都将不胜感激

这将告诉您zip文件中.xml文件的名称

/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
如果要提取并重命名xml文件

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

除了文件夹中有其他文件外,这将起作用。。。我想我可以将它扩展到它自己的文件夹中,但理想情况下,我想知道我正在扩展的zip文件中的文件名…其他.xml文件还是其他文件?xml文件。。。这是一个我转储入站数据的目录。。。但是一个源压缩了他们的压缩文件,压缩文件的内容总是动态名称。。。(我知道,我可以要求他们将其命名为静态名称,但我真的想知道如何解决这个问题)甜蜜。我现在不想使用cat将数据简单地通过管道传输到一个新的文件名。谢谢。有没有办法用目录而不是文件来做这件事?
unzip -p z.zip \*.xml | cat > NEWFILE.xml