Поиск и наклонные черты влево замены к наклонным чертам вправо в окнах

В последнее время я должен был удалить новые неотслеженные файлы из своей системы управления версиями. При нахождении в Linux я использую:

hg status -un|xargs rm

И это работает хорошее, но при выполнении его в окнах, hg status списки соединяют каналом с обратной косой чертой так, чтобы был то, где материал идет не так, как надо. Таким образом я пробую:

hg status -un|sed 's/\\/\//g'

... но я получаю ошибку: sed: выражение № 1-e, символ 8: незавершенная' команда

Затем я пробую некоторый ASCII:

`hg status -un|sed 's/\o134/\o57/g'` 

... это получает меня: sed: выражение № 1-e, символ 14: Запаздывающая обратная косая черта

И некоторые сценарии:

hg status -un|sed 's/`echo \`/`echo /`/g'

... это получает меня: sed: выражение № 1-e, символ 19: неизвестная опция к'

Я пробую все последнее любыми другими символами, и я получаю ожидаемый вывод..., таким образом, я полностью потерян. У меня есть cygwin, конечно, и я хочу избегать использования файла (именно это я делал).

Заранее спасибо

3
задан 11.02.2011, 12:46

2 ответа

герцог!, Вы делаете его неправильно!, можно использовать : вместо / для regex:

hg status -un|sed 's:\\:/:g'

*закройте лицо рукой*

2
ответ дан 08.12.2019, 01:43

Для предотвращения 'Запаздывания обратной косой черты' ошибка, необходимо удостовериться, что не удаляете последнюю обратную косую черту. это может быть сделано путем обеспечения в regex, что другой 'non'backslash символ всегда следует за заменяемым символом. sed должен быть похожим на это...

sed "s:\\([^\]\+\):/\1:g"

.. который примерно переводит как:

найдите обратную косую черту, сопровождаемую по крайней мере 1 символом, который не является обратной косой чертой и заменой наклонной чертой вправо, сопровождаемой другими подобранными символами.

Обратите внимание, что в моем regex (для удара) я не должен был выходить из обратных косых черт, но я должен был выйти из круглых фигурных скобок. '\1' являются обратной ссылкой.

Надежда, которая имеет смысл!

0
ответ дан 08.12.2019, 01:43

Теги

Похожие вопросы