Я хочу рекурсивно пакетно заменять строки внутри папки, и я решил использовать Perl. Я хотел бы посмотреть, есть ли решение, которое требует меньшей зависимости и работы на разных платформах.
Для перечисления файлов я могу использовать что угодно от ls
до find
до ag
, rg
. Позвольте мне продемонстрировать мою проблему с ls
.
ls | xargs -I '{}' ed -s {} <<< $'='
Я получу это:
Is a directory
newline appended
=: No such file or directory
Поскольку канал используется для передачи имен файлов в xargs
, а потоки (здесь-строка) не работают ( Как можно использовать heredoc с xargs? ). Интересно, можно ли использовать xargs
с ed
.
Меня беспокоит кроссплатформенность, и фактически эта команда будет помещена в package.json
для npm run global_replace
. Нам интересно, есть ли другие решения, кроме введения gulp-replace
и gulp
только для этой задачи.