[unix] bash : 가장 최근에 수정 된 하위 디렉토리로 cd

“가장 최근에 수정 된 하위 디렉토리로 변경”이라고 말하는 쉽고 간편한 방법이 있는지 궁금합니다. ls와 awk를 사용할 수는 있지만 더 좋은 방법이 있습니다.

cd $( ls -ltrd */ | tail -1 | awk '{ print $8 }' )

수백 개의 하위 디렉토리와 가장 최근에 변경된 디렉토리로 이동하려는 시간의 99 %가있는 “출력 파일”디렉토리에서 명령을 실행해야합니다. 디렉토리 이름이 무엇인지 미리 알 수 없습니다.



답변

디렉토리에 인쇄 할 수없는 문자가 없다고 가정합니다.

cd  "$(\ls -1dt ./*/ | head -n 1)"

(디렉토리에 대한 심볼릭 링크도 고려합니다).

zsh로 전환하지 않아도되는 경우 :

cd ./*(/om[1])

또는 첫 번째 예에서와 같이 디렉토리에 심볼릭 링크를 포함 시키려면 다음을 수행하십시오.

cd ./*(-/om[1])


답변

즐겨.

cdd(){
  # cd into the last directory modified/created in pwd
   ls -p | grep / | tail -1 | pbcopy; str=$(pbpaste); cd $str
}


답변

이 짧은 버전의 명령을 사용해보십시오

cd $(ls -t | head -n 1)   


답변