마지막 영숫자 디렉토리로 cd

마지막 영숫자 디렉토리로 cd

다음 디렉토리 내용이 있습니다.

여기에 이미지 설명을 입력하세요.

보시다시피 디렉터리 이름은 단지 타임스탬프일 뿐입니다. 일반적으로 최상위 디렉터리인 경우 가장 최근 디렉터리, 즉 타임스탬프 값이 가장 큰 디렉터리를 열고 싶습니다. 마지막 (맞나요?) .

마지막 디렉토리로 빠르게 CD를 이동할 수 있는 좋은 방법이 있습니까? 운영 체제에 따라 타임스탬프별로 정렬된다고 가정할 수 있나요? 그렇지 않은 경우 더티 접근 방식은 최대 타임스탬프 값을 복사한 다음 "$cd 1453775108178"을 실행하는 것입니다.

답변1

파일 이름을 사전순으로 나열하는 ls것과 같은 명령 및 와일드카드. *숫자로만 구성된 파일 이름의 경우 모든 파일 이름의 자릿수가 동일한 경우에만 숫자 순서에 해당합니다. 파일 이름은 에포크 이후의 밀리초 수인 것으로 보입니다. 시간이 2001-09-09 01:46:40에서 2286-11-20 17:46:39.999 사이인 한 사전순으로 작동합니다.

zsh에서,당신은 그것을 사용할 수 있습니다[-1] 글로벌 예선마지막 게임을 플레이하세요.

cd *([-1])

이는 다양한 방법으로 개선될 수 있습니다.

  • cd *(/[-1])다른 유형의 파일이 있는 경우 디렉터리만 일치하는지 확인하세요.
  • cd *(-/[-1])또한 디렉터리에 대한 기호 링크도 포함됩니다.
  • cd <->([-1])숫자로만 구성된 이름만 일치하는지 확인합니다.
  • cd <->(/n[-1])사전식 순서가 아닌 숫자 순서로 이름을 정렬합니다(예: 뒤 대신 10뒤에 정렬 ).91

zsh의 또 다른 접근 방식은 완성을 사용하는 것입니다. 현재 완료 설정에 따라 이는 다소 간단합니다. 설정하면glob_complete옵션(나는 이것을 한다) 그리고 묶는다reverse-menu-complete키에 Shift+ 라고 가정해 보겠습니다 Tab. 이 작업은 다음 코드를 사용하여 수행할 수 있습니다 .zshrc.

setopt glob_complete
bindkey '\e\t' reverse-menu-complete

cd *Shift그런 다음 +를 입력하면 마지막 일치 항목으로 대체됩니다 Tab.*

다른 껍질이 좋은 기능이 빠졌네요. 작은 기능을 만들 수 있습니다.

cdlast () {
  set ./*/
  shift "$(($#-1))"
  cd "$1"
}

선택적 행간을 사용하십시오 -. 그러나 로 시작하는 파일 이름은 -문제가 있으므로 사용하지 않는 것이 좋습니다.

답변2

디렉토리만 만든 경우 --를 사용하여 마지막 파일 /dir을 찾을 수 있습니다.

ls -tr1 |tail -1
to cd to it --
cd $(ls -tr1 | tail -1)

파일과 디렉터리가 모두 있는 경우 더 많은 작업이 필요합니다.

cd $(ls -ltr |grep ^d |tail -1 | awk '{print $9}')

기타 옵션 - mtime 조회 사용(필터링할 디렉터리를 생성할 때 창을 알아야 함) 디렉터리가 큰 경우(100,000개 이상의 파일) 이러한 모든 명령을 실행하는 데 오랜 시간이 걸릴 수 있으므로 가장 좋은 방법은 파일을 생성하는 것입니다. 마지막 디렉토리를 포함하는 디렉토리 파일을 생성하고 이를 사용하여 최신 디렉토리로 이동합니다.

답변3

.bashrc 파일에 별칭이나 함수를 만들 수 있습니다. 예를 들면 다음과 같습니다.

alias lcd="cd $( ls -1 | tail -1 )"

또는

lcd() { cd $( ls -1 | tail -1 ) ; }

답변4

디렉토리 생성 프로세스를 제어할 수 있는 경우 항상 latest최신 디렉토리를 가리키는 명명된 기호 링크를 작성하도록 디렉토리를 조정할 수 있습니다.

이것이 디지털 카메라 카드에서 사진을 추출하는 스크립트에서 수행하는 작업이며 나에게 완벽하게 작동합니다.

$ ls -loghd pictures/[12l]*
dr-xr-xr-x  4 4.0K May 24  2012 pictures/1989
dr-xr-xr-x  6 4.0K May 24  2012 pictures/1990
...
dr-xr-xr-x 38 4.0K Dec 15 19:59 pictures/2015
drwxr-xr-x  3 4.0K Jan 10 23:03 pictures/2016
lrwxrwxrwx  1   34 Jan 10 23:03 pictures/latest -> 2016/2016-01-10

관련 정보