Как найти / исправить ошибку в пути

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

Обмен командной строкой может выглядеть так:

$ ls /var/lib/my/supper/complicated/path File or directory not found $ fixpath /var/lib/my/supper/complicated/path Found /var/lib/my 

В качестве бонусной функции обнаружение сходства было бы замечательным:

 $ fixpath /var/lib/my/supper/complicated/path Found /var/lib/my Did you mean /var/lib/my/super/complicated/path 

One Solution collect form web for “Как найти / исправить ошибку в пути”

  $ fixpath /home/user/docus/collection/unix/djakl/jfkdsl/dfjksld/fsdkl Found /home/user/docus/collection/unix $ type fixpath fixpath is a function fixpath () { CURDIR="$PWD"; DIR="$1"; E=1; while [ $E -eq 1 ]; do cd "$DIR" 2> /dev/null && { E=0; echo Found "$DIR" } || { DIR="${DIR%/*}"; DIR="${DIR:-/}" }; done; cd "$CURDIR" } 

Самосогласование подобия самых современных оболочек может само по себе. По крайней мере, bash и zsh делают.

  • Исполняемые файлы показывают с символом * рядом с их именем в выводе ls
  • выделение коррекции zsh
  • zsh завершение по истории не работает
  • Почему стиль select-word останавливает меня от использования слова «назад-убить» для ведущих пробелов?
  • Как создать привязку ключей для повторного поиска конфигурации оболочки без сохранения новой команды в истории?
  • zsh: команда не найдена: {compinstall, compinit, compdef}
  • Поиск в обратном и прямом направлениях осуществляется с помощью vi-режима в zsh
  • Тест на существование функции, которая может работать как на bash, так и на zsh?
  • Как включить вкладку zsh / prezto?
  • zsh сломал ключ и специальные символы
  • Предотвращение использования zsh от использования псевдонимов в CWD (подсказка)
  • Linux и Unix - лучшая ОС в мире.