cd
в 2-ю папку в каталоге?КОНТЕКСТ
Я нахожусь в каталоге с 3 папками. После выполнения ls -1
как они заказывают так.
folder1
folder2
folder3
Я хочу быстро cd
в folder2
.
Я смог записать функцию в быстро cd
в folder1
это - моя функция.
f1 () {
cd $(ls -d */|head -n 1)
}
ВОПРОС
Мне нужна вызванная функция f2
. Это при выполнении, cd
в folder2
.
(папки отсортированы по ls -1
. Я использую zsh
)
Попытка:
cd $(ls -d */| sed -n 2p)
-n
говорит sed
не распечатать что-либо по умолчанию, и 2p
говорит этому печатать строку № 2.
самый простой способ получить вторую строку
ls -d */|head -2|tail -1
сначала получите две верхних строки, затем последние из них
проблема, если у Вас только будет одна папка, то Вы получите ее, не отсутствующая секунда
Что-то, что не требует дополнительных процессов:
dirs=( */ )
cd "${dirs[3]}" # 0-based