2

Я хочу скопировать путь одного файла, но каталог не открыт в Finder, он открыт в терминале. Возможно ли при вызове <utility> filename скопировать полную строку пути к файлу в буфер обмена Mac OS? Как копирование вывода следующей команды там.

`pwd`/filename

Добавил следующую строку в мой .zshrc

function cn { echo -n $(pwd)/$1 | pbcopy }

Просто псевдонимы не работают из-за аргументов. Точно такая же строка должна работать и в bash.

2 ответа2

4
echo $(pwd)/filename | pbcopy

Это даст вам строку без кавычек и без экранирования, которая, в зависимости от вашего варианта использования, может не работать должным образом при вставке в другое место.

0

Если вы хотите установить greadlink с помощью brew: brew install coreutils , вы можете реализовать решение, которое работает для любого пути (файл в другой папке или имя папки). Это то, что я имею в ~/.zshrc:

function path_to_clipboard() {
    local path_escaped="$(printf "%q\n" "$1")"
    local path_escaped_full=$(greadlink -f "$path_escaped")
    echo -n $path_escaped_full | pbcopy
}
alias pb=path_to_clipboard

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