gpt4 book ai didi

shell - 输出tar归档中的根目录

转载 作者:行者123 更新时间:2023-12-04 03:05:32 25 4
gpt4 key购买 nike

我正在尝试使您在使用 shell 脚本编译 nginx 之类的东西时所经历的过程自动化。 (我不想使用 apt-get )

目前我有这个:

wget http://nginx.org/download/nginx-1.0.0.tar.gz
tar xf nginx-1.0.0.tar.gz

但接下来我需要找出它提取的目录名称是什么,以便我可以启动配置脚本。

最佳答案

使用它来找出文件的顶级目录(-ies)。

tar tzf nginx-1.0.0.tar.gz | sed -e 's@/.*@@' | uniq
sed在此处调用以获取 tar 打印的路径的第一个组件,所以它变换
path/to/file --> path

它通过执行 s command 来做到这一点。 .我用 @将符号作为分隔符而不是更常见的 /避免逃跑的标志 /在正则表达式中。所以,这个命令的意思是:替换匹配 /.* 的字符串的一部分模式(即斜杠后跟任意数量的任意字符)与空字符串。或者,换句话说,删除(包括)第一个斜杠之后的字符串部分。

(必须修改它才能使用绝对文件名;但是,这些在 tar 文件中很少见。但请确保这种理论上的可能性不会在您的代码中造成漏洞!)

关于shell - 输出tar归档中的根目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5691131/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com