Сед для окон
Я пытаюсь использовать SED в первый раз. Чтобы усложнить дело, я использую его в Windows. Я скачал из этого источника. Поскольку у меня нет прав на установку на моей рабочей машине, я создал папку в своем профиле для исполняемых файлов и добавил ее в свой профиль. PATH
,
У меня проблемы, попробуйте использовать SED в первый раз. Он продолжает сбой с ошибкой:
sed: -e expression #1, char 1: unknown command:
`` '' `Я пробовал несколько разных примеров из этого, как, но я просто не могу получить его. Я обнаружил, что никто другой не имеет этой проблемы. Что я должен попробовать? Я попытался заключить его в кавычки, двойные кавычки и обратные кавычки. Кажется, ничто не поможет.
3 ответа
C:\>sed sdf
sed: -e expression #1, char 3: Unterminated `s' command
C:\>echo aaa > f
C:\>sed -e "s/a/x/" < f
xaa
Это использует sed
от unxutils
В отличие от Unix, оболочка командной строки Windows не выполняет деление слов и не удаляет кавычки; программа просто получает одну строку, содержащую всю командную строку. Это означает, что не все программы могут следовать одинаковым правилам цитирования.
В этом случае версия sed GnuWin32 поддерживает только один стиль цитирования - "
двойные кавычки "
, Например, в моих тестах отлично работает следующее:
sed "s/foo/bar/"
Вы также можете получить sed
от Cygwin, вместе с более полной Unix-подобной системой: оболочки, редакторы, другие инструменты. Будет проще, если вы будете использовать оболочку Unix для обучения, чтобы избежать подобных проблем с синтаксисом в будущем.
Имейте в виду, что это старый вопрос, однако, если у вас установлен Git Bash, вы можете использовать множество функций Unix (sed/ssh/scp/grep) в среде Windows.