В наборе больших файлов мне нужно заменить все вхождения "\
" на "\\
". Я хотел бы использовать Perl для этой цели. Прямо сейчас у меня есть следующее:
perl -spi.bak -e '/s/\\/\\\\/gm' inputFile
Эта команда была предложенной для меня, но она не приводит к изменению inputFile (кроме обновленной метки времени). Думая, что проблема может быть в том, что "\
" не были окружены пробелами, я попытался
perl -spi.bak -e '/s/.\\./\\\\/gm' inputFile
Опять же, это никак не повлияло на файл. Наконец, я подумал, что могу пропустить точку с запятой, поэтому я попытался:
perl -spi.bak -e '/s/.\\./\\\\/gm;' inputFile
Это также не имеет никакого эффекта. Я знаю, что мой файл содержит "\
", например, в следующей строке:
("C:\WINDOWS\system32\iac25_32.ax","Indeo audio)
Я не уверен, есть ли проблема с регулярным выражением или что-то не так с тем, как я вызываю Perl. У меня есть базовое понимание регулярных выражений, но я абсолютный новичок в том, что касается Perl.
Здесь что-то явно не так? Одна вещь, которую я заметил, состоит в том, что команда возвращается довольно быстро, несмотря на то, что размер inputFile составляет ~ 10 МБ.