Как вы попадаете в первую доступную папку, не вводя название?

Это должно быть намного быстрее для использования метод Newton для вычисления Целочисленный Квадратный корень , затем возвести в квадрат это число и проверку, как Вы делаете в своем текущем решении. Метод Newton является основанием для решения Carmack, упомянутого в некоторых других ответах. Необходимо быть в состоянии получить более быстрый ответ, так как Вы только интересуетесь целой частью корня, позволяя Вам остановить алгоритм аппроксимации раньше.

Другая оптимизация, которую можно попробовать: Если Цифровой Корень из числа не заканчивается в 1, 4, 7, или 9, число не полный квадрат. Это может использоваться в качестве быстрого способа устранить 60% Ваших исходных данных прежде, чем применить более медленный алгоритм квадратного корня.

25
задан 29.04.2014, 06:52

6 ответов

Я думаю, что на самом деле понял его на самом деле

cd * 
cd */

, Но я не протестировал его, если существует несколько файлов и одна папка!

<час>

Как [1 114] @Rinzwind упоминается в комментариях!

Скажем, у Вас есть три длинных папки:

 /thisislongfolder1
 /thisislongfolder2
 /thisislongfolder3

при вводе первой буквы файла, затем поразите вкладку , это автоматически заполнит имя файла! СУМАСШЕДШИЙ МАТЕРИАЛ!

Так в примере выше, можно ввести: t вкладка и это автоматически заполнит столько, сколько это может: cd thisislongfolder (тогда вводят число самостоятельно).

Или можно сделать cd t*1, взял бы Вас в thisislongfolder1

Спасибо Rinzwind!

0
ответ дан 18.04.2019, 23:19
  • 1
    CD first_letter_or_some_letters и затем {вкладка} является самым легким (также решает Вашу проблему большого количества папок. Вы можете даже смешанные буквы больше чем с 1 вкладкой и буквы. Система автоматически заполнит, насколько она может. Можно также сделать cd r*r и надеяться, что это - единственное начало папки и окончание r. – Javier Andrés Burgos Roldán 25.04.2014, 08:26
  • 2
    @Rinzwind, ничего себе! Я didn' t знают это! Спасибо! – Dipak Gupta 25.04.2014, 08:32
  • 3
    Попробовать. Добавьте свои результаты к Вашему ответу и you' ll, вероятно, получают некоторую репутацию его;-) – Emma 25.04.2014, 08:35
  • 4
    cd */ мог бы добиться цели – VonC 25.04.2014, 10:24
  • 5
    cd * вероятно, сбои чаще, чем он успешно выполняются. – friederbluemle 25.04.2014, 11:44

Я был бы совет любой для ввода первых нескольких букв и нажимающей вкладки . Bash имеет функцию автоматического заполнения, которая действительно полезна. Если это будет только каталог в в текущем пути, просто нажимающем вкладку , то заполнит целый каталог.

Ввод в cd и нажатие вкладки дважды отобразит все опции в текущем каталоге.

вкладка обычно действительно полезна в ударе, как Вы имеете доступный почти все исполняемые файлы при одних или двух нажатиях клавиш.

cd *, как предложено выше работ, только если каталог является первым в списке и не скрытым. Если будет файл в алфавитном порядке перед Вашим каталогом, то это cd не изменит Ваш каталог вообще.

0
ответ дан 18.04.2019, 23:19
  • 1
    Вы shouldn' t даже должен ввести любые буквы вообще, если there' s всего один существующий каталог: cd <tab> будет достаточно умно. – jcuypers 25.04.2014, 12:14
  • 2
    Работы в Windows также. (для людей, которые приезжают из Google..) – techguy2000 26.04.2014, 00:04
cd $(ls -d */|head -n 1)

ls -d */ списки каталоги, head -n 1 дает первый в этом списке.

0
ответ дан 18.04.2019, 23:19
  • 1
    Да и you' ре, собирающееся вводить это... I' d скорее идут вкладка вкладки и ищут имя, чем ввод этого. It' s 100% исправляют хотя, хороший ответ! – Paulw11 26.04.2014, 08:48
  • 2
    @tomsmeding, Если Вы пишете сценарий, для которого нужно к cd к первому каталогу, Вы can' t делают вкладки. – Matthew Kim 26.04.2014, 08:58
  • 3
    - n 1 показывает последний 1 файл файла. Если Вы хотите использовать это для переменного порядка, можно использовать: $ CD (ls-d-1 */|sed-n ' 4p') для открытия 4-й папки в каталоге. Добавление его для искажения может сделать Вас быстрее с навигацией папки. – Endareth 17.11.2018, 19:32

У меня есть хорошая установка для этого, она позволяет мне не только к CD к ~/somereallylongfoldername, но также и CD к там, даже когда я нахожусь в / папка

первая вещь, я использую, zsh с oh-my-zsh, который это также позволит, Вы к CD, не имея необходимость волноваться о случае или даже не вводя cd

  1. устанавливаете мерзавца, и zsh
sudo apt-get install zsh git
  1. устанавливают, О, Мой-L http://install.ohmyz.sh завихрения ZSH

| Изменение sh

  1. , оболочка по умолчанию к ZSH
chsh -s /bin/zsh

открывает и редактирует Ваш .zshrc, который расположен в Вашей домашней папке не, она скрыта

, нано ~/.zshrc

тогда добавляет следующую строку к нижней части файла export CDPATH=$CDPATH:/:/home/$USER/:/media/$USER/

, Если Вам нравится моя тема, можно также измениться, строка #ZSH_THEME="robbyrussell" к ZSH_THEME="pygmalion"

Сохраняют и закрываются, файл тогда перезапускают т.е. закрывают и вновь открыли оболочку или просто открывают новую вкладку и пробуют его

не, можно использовать клавишу Tab для завершения имен, и в ZSH Вы не должны даже иметь права случая, можно ввести docu и нажать вкладку, и она превратит его в ~ / Документы

enter image description here

0
ответ дан 18.04.2019, 23:19

Можно изменить каталог inode числом.
первый мы находим inode с ls -il.
тогда

cd $(find -inum directory_inode_number)
0
ответ дан 18.04.2019, 23:19

Если необходимо сделать это в сценарии или поддерживать каталоги с undecodable именами:

cd $(python -c  

Это работает, если существуют файлы в каталоге, независимо от их порядка сортировки относительно каталогов.
Это работает на скрытые каталоги когда cd */ сбои.
Это работает, если имя не является представимым в текущей локали когда ls только печать ?? вместо имени.

import os\nfor entry in os.listdir(b"."):\n if os.path.isdir(entry):\n os.write(1, entry);break\nelse: os.write(1, b".")')

Это работает, если существуют файлы в каталоге, независимо от их порядка сортировки относительно каталогов.
Это работает на скрытые каталоги когда cd */ сбои.
Это работает, если имя не является представимым в текущей локали когда ls только печать ?? вместо имени.

0
ответ дан 18.04.2019, 23:19

Теги

Похожие вопросы