2016-07-01 6 views
0

Я пытаюсь найти простое/элегантное решение командной строки для процесса, который часто используется в скриптах. Что-то вроде: (Вымышленный пример)Копировать файл с заменой регулярного выражения

CopyWithReplace <SourceFile> <DestFile> -m <match regular expression> -r <replacement regular expression> 

Скопируйте текстовый файл с замененным текстом, как указано. В идеале поиск/замена произойдут в конвейере, а не как вторичный шаг. (Адресаты довольно часто являются удаленными местами, а ссылки WAN на большие расстояния часто бывают не такими быстрыми и надежными, как хотелось бы.)

Что было бы самым простым ** для достижения этой возможности сценариев в среде Windows?

** Simplest = легко писать код партии, меньше всего сторонних инструментов и т. Д. Бонусные точки для разумно стандартной реализации Regex.

ответ

0

Этого можно достичь с помощью sed.

Основной шаблон использования, для замещения, как вы описали, является:

sed 's/regexp/replacement/g' inputFileName > outputFileName 

sed утилита Unix, но есть несколько способов его использования в Windows, если вы хотите. This StackOverflow post перечислены различные доступные варианты.

 Смежные вопросы

  • Нет связанных вопросов^_^