我正在创建一个允许我解压缩给定文件的脚本。我的问题是我现在不知道如何将目录更改为刚刚由解压缩进程创建的目录。
我尝试使用此命令,但它不起作用:SITE_DIRECTORY="$(ls -dt */ | head -1)"
关于如何获取刚刚提取的目录名称的任何想法?
编辑:现在我到了SITE_DIRECTORY=unzip $SITE_NAME | grep 'creating:' | head -1 | cut -d' ' -f5-
但是出现了一个新问题:unzip命令不会提取所有文件。 新想法?
答案 0 :(得分:1)
如果目录已知,您可以
unzip -j yourzip.zip -d /path/to/dir && cd /path/to/dir
来自man page(j
选项)
-j垃圾路径。不重新创建存档的目录结构;所有文件都存放在提取目录中(默认情况下为 目前的一个)。
答案 1 :(得分:0)
我的问题的解决方案是以下命令:
unzip $SITE_NAME >output.txt
SITE_DIRECTORY=$(cat output.txt | grep -m1 'creating:' | cut -d' ' -f5-)
rm output.txt