Сід для вікон


3

Я намагаюся використовувати SED вперше. Щоб ускладнити справи, я використовую це у Windows. Я завантажив з цього джерела . Оскільки у мене немає привілеїв встановлення на моїй робочій машині, я створив у своєму профілі папку для виконуваних файлів і додав її до свого PATH.

У мене виникають проблеми спробувати використовувати SED вперше. Він не вдається з помилкою:

sed: -e expression #1, char 1: unknown command:`` '' Я спробував декілька різних зразків із цього як, але я просто не можу його отримати. Я виявив, що ніхто інший не має цієї проблеми. Що слід спробувати? Я спробував інкапсулювати це в лапки, подвійні лапки та зворотні лапки. Начебто нічого не допомагає.


Що саме ти біжиш?
Johnny

Я б дуже рекомендував cygwin, оболонка windows - це така PITA для команд, що нагадують unix. Однак, якщо ви плануєте дотримуватися оболонки Windows, найпростіший спосіб, за яким Ive знайшов запустити sed або awk, це створити файл сценарію, а потім викликати файл із прапором -f. Наприклад sed -f some_sed_script.sedабоawk -f some_awk_script.awk
SiegeX

Чи можете ви вставити саме те, що ви даруєте, до оболонки Windows?
Роб

Я думав, що я включив свій внесок. Я б хотів, що я це зробив, тому що зараз це працює після того, як я спробував @RedGrittyBrick дав
TheSavo

Відповіді:


4
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


Це спрацювало !. спасибі. Це тому, що -eпараметр?
TheSavo

Не впевнений, що було не так, видаливши -e параметр і подвійні "лапки, він все ще працює
TheSavo

5

На відміну від Unixes, оболонка командного рядка Windows не виконує жодного розділення слів і не знімає лапок; програма тільки що отримує один рядок, що містить весь командний рядок. Це означає, що не всі програми можуть дотримуватися однакових правил котирування.

У цьому випадку версія GnuWin32 sed підтримує лише один стиль котирування - "подвійні лапки ". Наприклад, у моїх тестах добре працює:

sed "s/foo/bar/"

Ви також можете отримати sedвід Cygwin разом із більш повною системою, схожою на Unix: оболонками, редакторами, іншими інструментами. Буде простіше, якщо ви використовуєте оболонку Unix для навчання, щоб уникнути подібних проблем із синтаксисом у майбутньому.


побили мій коментар cygwin секундами ... :)
Rich Homolka

Дякую. Чи пропонує CygWin не встановити? Я спробував з "подвійними цитатами і досі ніякої радості.
TheSavo

@TheSavo просто видаліть каталог. є деякі записи реєстру, пов’язані з кріпленнями cygwin, але їх можна сміливо ігнорувати, лише читає їх cygwin
Rich Homolka
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.