Не строго bash, а скорее Bourne shell, если это возможно. Как я могу программно перейти на самый новый каталог? Я хочу установить последний пакет программного обеспечения, которое находится в новейшем каталоге. Старые каталоги сохраняются для устаревших систем.

Не работает:

find /test/sysadmin/aixinstall/programs/tcpd/* -type d | xargs ls -td | head -n 1 | xargs cd


редактировать:

У меня есть ответ, но он уродлив, поэтому я даю кому-то шанс украсить Интернет мудростью, а не клугом.

1 ответ1

1
cdnewest () {
    cd "$(stat -c "%Y %n" "$1"/*/ | sort -nr | head -1 | cut -d " " -f 2-)"
}

cdnewest /test/sysadmin/aixinstall/programs/tcpd

Я предполагаю, что вы ищете новейший непосредственный подкаталог, а не где-то в иерархии.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .