Интересно, есть ли простой и / или переносимый способ сказать «перейти на последний измененный дочерний каталог». Я могу использовать ls и awk, но, возможно, есть лучший способ.
cd $( ls -ltrd */ | tail -1 | awk '{ print $8 }' )
Мне нужно выполнить команду в каталоге «выходных файлов» с сотнями подкаталогов и 99% времени я хочу перейти в последний измененный каталог. Я не знаю, какие названия каталогов будут заранее.
bash
date
cd-command
twblamer
источник
источник
cd $(ls -v1td */ | head -1)
?Ответы:
Предполагая, что в ваших каталогах нет непечатаемых символов:
(обратите внимание, что он также будет учитывать символические ссылки на каталоги).
Если вы не против перейти на zsh:
Или включить символические ссылки на каталоги, как в первом примере:
источник
Наслаждаться.
источник
Попробуйте эту короткую версионную команду
источник