Источник «gsed: не может читать: нет такого файла или каталога»?

У меня есть сценарий Bash, который выполняет простую замену на OS X. Вот приведенный случай:

mkdir vs2005-dynamic cp cryptdll.vcproj cryptest.sln cryptest.vcproj cryptlib.vcproj dlltest.vcproj vs2005-dynamic/ cd vs2005-dynamic ... SED=/opt/local/bin/gsed SEDOPTS=(-i "") ... PROJ_FILES=($(find $PWD -name "*.vcproj")) for pf in "${PROJ_FILES[@]}"; do "$SED" "${SEDOPTS[@]}" -e 's|RuntimeLibrary="0"|RuntimeLibrary="2"|g' "$pf" "$SED" "${SEDOPTS[@]}" -e 's|RuntimeLibrary="1"|RuntimeLibrary="3"|g' "$pf" done 

Когда я запускаю его с bash -x он печатает восемь ошибок. Я не могу понять, откуда исходят ошибки. Поиск ошибки дает один удар , но я не совсем понимаю решение.

Где «gsed: не могу прочитать: нет такого файла или каталога» ?


Ниже <full path> есть /Users/<username>/<project name>/vs2005-dynamic/ . В пути нет пробелов.

 + /opt/local/bin/gsed -i '' -e 's|RuntimeLibrary="0"|RuntimeLibrary="2"|g' <full path>/cryptdll.vcproj /opt/local/bin/gsed: can't read : No such file or directory + /opt/local/bin/gsed -i '' -e 's|RuntimeLibrary="1"|RuntimeLibrary="3"|g' <full path>/cryptdll.vcproj /opt/local/bin/gsed: can't read : No such file or directory + for pf in '"${PROJ_FILES[@]}"' + /opt/local/bin/gsed -i '' -e 's|RuntimeLibrary="0"|RuntimeLibrary="2"|g' <full path>/cryptest.vcproj /opt/local/bin/gsed: can't read : No such file or directory + /opt/local/bin/gsed -i '' -e 's|RuntimeLibrary="1"|RuntimeLibrary="3"|g' <full path>/cryptest.vcproj /opt/local/bin/gsed: can't read : No such file or directory + for pf in '"${PROJ_FILES[@]}"' + /opt/local/bin/gsed -i '' -e 's|RuntimeLibrary="0"|RuntimeLibrary="2"|g' <full path>/cryptlib.vcproj /opt/local/bin/gsed: can't read : No such file or directory + /opt/local/bin/gsed -i '' -e 's|RuntimeLibrary="1"|RuntimeLibrary="3"|g' <full path>/cryptlib.vcproj /opt/local/bin/gsed: can't read : No such file or directory + for pf in '"${PROJ_FILES[@]}"' + /opt/local/bin/gsed -i '' -e 's|RuntimeLibrary="0"|RuntimeLibrary="2"|g' <full path>/dlltest.vcproj /opt/local/bin/gsed: can't read : No such file or directory + /opt/local/bin/gsed -i '' -e 's|RuntimeLibrary="1"|RuntimeLibrary="3"|g' <full path>/dlltest.vcproj /opt/local/bin/gsed: can't read : No such file or directory 

One Solution collect form web for “Источник «gsed: не может читать: нет такого файла или каталога»?”

С помощью gsed вам не нужно дополнительное «», только с ОС OSX по умолчанию. Попробуйте либо:

 SED=/usr/bin/sed 

Или:

 SEDOPTS=(-i) 
  • Проблема с передачей параметров, содержащих пробелы и символы wild card
  • Копирование / переименование нескольких файлов с использованием регулярного выражения (сценарий оболочки)
  • Установка переменной env через скрипт на текущей сессии
  • Как я могу найти и заменить только в том случае, если совпадение составляет целое слово?
  • regex удалить последние четыре символа
  • Как создать скрипт с обратным действием
  • Как проверить, нет ли строки в tcsh
  • Я хочу использовать переменную, объявленную внутри сеанса SSH, для локального использования в сценарии оболочки
  • Как фильтровать файлы с именем файла, а затем удалять файл OLDEST?
  • Confused для пользователя и su в linux
  • Как я могу удалить файл защиты, сделанный tee?
  • Отложить переменное расширение до подоболочки
  • Interesting Posts

    Debian Network 2 подсети один интерфейс proxmox

    Как использовать отдельного пользователя с графическим интерфейсом на OpenBSD?

    Каковы недостатки uClibc?

    Преобразование содержимого файла в нижний регистр

    Python теперь считает, что аргументы являются файлами: Broken emerge, pip, livestreamer и большинство инструментов с использованием Python

    Установка Ubuntu 14.04 – Ошибка восстановления Grub после отказа отключить безопасную загрузку

    Что происходит, когда я убиваю ‘cp’? Это безопасно и имеет ли это какие-либо последствия?

    " Имя источника данных не найдено, и драйвер по умолчанию не указан" при подключении к OracleDB с использованием ODBC

    Как выполнить команду несколько раз с разными аргументами?

    Выполнение нескольких вызовов в программе с помощью сценария оболочки bash

    Как перевести vlc в стабильную версию?

    Эквивалентная команда autossh?

    Как извлечь строки, начинающиеся с определенного письма?

    Как использовать VNC для игр?

    Сетевой интерфейс ПК BSD Warden

    Linux и Unix - лучшая ОС в мире.