Полный путь в glob в Zsh

Скажем, я запускаю следующий /some/path :

 for x in foo/*; do print $x done 

Существуют ли какие-либо параметры, которые я могу использовать, чтобы указать Zsh для печати, а не только имя файла, но полный абсолютный путь к $x ? (без явно жесткого кодирования /some/path в операторе print .

3 Solutions collect form web for “Полный путь в glob в Zsh”

 for x (foo/*(:A)) print -r $x 

Или:

 for x (foo/*) print -r $x:A 

Хотя в этом случае:

 print -rl foo/*(:A) 

достаточно.

:A Расширяет символические ссылки. Вы также можете использовать :a который этого не делает.

Вы можете использовать модификатор расширения истории в квалификаторе glob .

 for x in foo/*; do print -r $x(:a) done 

С :A вместо :a , символические ссылки расширяются.

Если вы добавите путь к шаблону, $x будет расширяться до полного пути:

 for x in /some/path/foo/*; do print $x done 

Но я не уверен, что это именно то, что вы ищете?

Если вы не хотите использовать hardcode /some/path и хотите, чтобы код всегда просматривался в текущем каталоге, используйте $ PWD:

 for x in $PWD/foo/*; do print $x done 
  • Как сортировать имена файлов с пробелами в них и объединять файлы?
  • Эффективное извлечение данных из нескольких файлов в один файл CSV
  • Самый быстрый способ открыть все файлы в каталоге с несколькими расширениями файлов в командной строке
  • Как управлять mysql с помощью zpty?
  • Zsh auto complete предлагает полные функции (_git _vim и т. Д.)
  • Команда Wrap в подсказке
  • Oh-My-Zsh удаляет дублированный путь в стеке каталогов
  • Могу ли я автоматически заполнять вкладку в zsh с регулярным выражением
  • Преобразование истории в скрипт?
  • zsh завершение по истории не работает
  • cp скрытые файлы с шаблонами glob
  • Linux и Unix - лучшая ОС в мире.