Сед для окон

Я пытаюсь использовать 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.

Другие вопросы по тегам