我想根据最高目录号进入目录。
小路:/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
sort
和head
来执行此操作
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`