가장 높은 디렉토리 번호를 기준으로 디렉토리를 입력하고 싶습니다.
샤오루: /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`