使用 ls | 更改目录尾部-1

使用 ls | 更改目录尾部-1

我想根据最高目录号进入目录。

小路:/home/cg/root/2018/01。在此路径中我有多个目录,如下所示

15
16
17
So on..

在这种情况下,最高目录是,17所以我想移动到17目录...如果名为的目录18存在,那么想要进入18

有什么方法可以使用cd命令来完成吗?

喜欢 :

cd /home/cg/root/2018/01/$(ls |tail -1)

答案1

您可以使用find sorthead来执行此操作

cd $(find /home/cg/root/2018/01/* -type d | sort -r | head -1)应该能解决问题

答案2

这样就可以了

cd $(ls /home/cg/root/2018/01 | sort -n -r | awk 'NR==1 {print $1})

答案3

在函数内使用(临时)bash 数组:

cdhighest() {
  local dirs=(/home/cg/root/2018/01/*)
  cd -- "${dirs[-1]}"
}

然后运行cdhighest它就会带你到 /home/cg/root/2018/01 下的最后一个目录。

参考:

答案4

你可以用简单的方式做到这一点。

cd /home/cg/root/2018/01; cd `ls -r | head -n 1`

相关内容