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

发布于 2024-12-11 04:50:53 字数 416 浏览 0 评论 0原文

/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 脚本下载一个名为 foo.zip 的 zip 文件,将该文件重命名为 4232.zip,然后提取内容。

我的问题是 zip 文件包含一个名称不断变化的文件。我看不到用于解压缩的标志,无法让我重命名 zip 内的文件。

我怎样才能重命名里面的神秘文件。我当前的项目中实际上只有一个文件。 -或者- 我怎样才能获得该文件名,以便我可以更改所有权并在稍后处理它的 PHP 脚本中使用它......

任何帮助将不胜感激。

/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

I am using this SSH script to download a zip file called foo.zip, rename the file to 4232.zip, the extract the contents.

My problem is that the zip file contains a single file whose name is constantly changing. I cannot see a flag for unzip that lets me rename the file(s) inside the zip.

How can I rename the mystery file inside. There is really only ever one file in my immediate project.
-or-
How can I get that filename so I can change ownership and use it in a PHP script that will process it later on...

Any help would be appreciated.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

清音悠歌 2024-12-18 04:50:53

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

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

如果您想提取并重命名 xml 文件,

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

This will tell you the name of the .xml file in the zip

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

If you want to extract and rename the xml file

unzip -p z.zip \*.xml | cat > NEWFILE.xml
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文