Linux 从GitLab查找最近下载的repo
我正在从我的私人回购中下载我的代码。使用以下命令完成下载后:Linux 从GitLab查找最近下载的repo,linux,bash,shell,gitlab,Linux,Bash,Shell,Gitlab,我正在从我的私人回购中下载我的代码。使用以下命令完成下载后: wget -O project.tar.gz https://gitlab.com/api/v4/projects/1/repository/archive?private_token=XXXXXXXXXXXXX 我最终得到了一个档案: project.tar.gz 我提取的 tar -zxf project.tar.gz 它给了我以下文件夹: project-master-97fe635dc27fb89bd16e3448bf6
wget -O project.tar.gz https://gitlab.com/api/v4/projects/1/repository/archive?private_token=XXXXXXXXXXXXX
我最终得到了一个档案:
project.tar.gz
我提取的
tar -zxf project.tar.gz
它给了我以下文件夹:
project-master-97fe635dc27fb89bd16e3448bf6915420
但我在同一路径中有一个较旧的下载文件夹,因此我有:
folder
│
└─── project-master-97fe635dc27fb89bd16e3448bf6915420
|
└─── project-master-28ba625ab48ac14bd25c7119aa9511271
我使用以下命令查找文件夹:
find /path/ -name "project-master-*"
但其输出me 2结果:
/path/project-master-97fe635dc27fb89bd16e3448bf6915420
/path/project-master-28ba625ab48ac14bd25c7119aa9511271
我只想输出最新的回购版本:
/path/project-master-97fe635dc27fb89bd16e3448bf6915420
不要使用find来进行此操作。您应该使用
ls
按修改时间排序,并使用head
选择最新的:
$ ls -dt /path/project-master-* | head -1
ls-dt
列出目录(不是它们的内容),并按修改时间对它们进行排序
解决方案适用于没有空格和/或其他特殊字符的目录