bash: cd к самому последнему модифицированному дочернему каталогу

Подумайте, есть ли простой и / или переносимый способ сказать «изменить на недавно измененный дочерний каталог». Я могу использовать ls и awk, но, вероятно, лучший способ.

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

Мне нужно запустить команду в каталоге «output files» с сотнями подкаталогов и в 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 }