Bash

bash: cd 到最近修改的子目錄

  • July 13, 2020

想知道是否有一種簡單和/或可移植的方式來表示“更改為最近修改的子目錄”。我可以使用lsawk但可能有更好的方法。

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

我必須在具有數百個子目錄的“輸出文件”目錄中執行命令,並且 99% 的時間我都想轉到最近更改的目錄。我不知道目錄的名稱是什麼。

假設您的目錄不包含任何不可列印的字元:

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

(請注意,它還將考慮到目錄的符號連結)。

如果您不介意切換到 zsh:

cd ./*(/om[1])

或者在第一個範例中包含指向目錄的符號連結:

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

試試這個簡短的版本命令

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

引用自:https://unix.stackexchange.com/questions/16622