Как искать и заменить текстовые файлы “/”

У меня есть текстовый файл с ./. и должен заменить его 0|0.

Файл является слишком большим, чтобы открыться в Gedit и сделать это вручную.

Я могу сделать это использование sed?

0
задан 9 November 2017 в 07:11

3 ответа

Да. В этом случае полезно выбрать другой разделитель как _, этим путем Вы не должны выходить из наклонной черты:

sed 's_\./\._0|0_'

Пример:

$ cat test
./.
$ sed 's_\./\._0|0_' test
0|0

Добавить

  • -i изменить файл на месте, а не распечатать вывод к stdout,
  • -i.b сделать так и сохранить резервное копирование с .b как расширение и
  • g в конец выражения для изменения нескольких происшествий на строку, а не просто первого (→ 's_\./\._0|0_g').

Объяснения

  • s/A/B/ – замена A B, то же как s_A_B_, ssAsBs или независимо от того, что можно вообразить:

    Любой символ кроме обратной косой черты или новой строки может использоваться вместо наклонной черты для разграничивания BRE и замены. [источник]

  • s/A/B/g – замена A B и сделайте это globally, не прекращайте делать его после первого открытия (на строку!)

  • \./\. – литеральная строка ./., точки нужно оставить с обратной косой чертой, потому что они - часть основных регулярных выражений и еще взяли бы любой символ, соответствуя a/a, a/b, /// и так далее
  • 0|0 – литеральная строка 0|0
6
ответ дан 1 November 2019 в 06:11

Да, можно сделать это с sed.
Необходимо выйти . и / с a \.

sed -i.bak 's/\.\/\./0|0/g' file

-i.bak заставит sed отредактировать файл на месте, но создает файл резервной копии с .bak расширением.
g в "глобальных" средствах конца-> Замены весь occurencies.

4
ответ дан 1 November 2019 в 06:11

Даже при том, что Вы попросили sed команда для выполнения требования можно также дать попытку ex команда.

ex -sc '%s/\.\/\./0|0/g|x' file

% выберите все строки

s для замены

g замените все экземпляры глобально

x запишите, выходят ли внесенные изменения и

Пример:-

$cp file file.bak
$cat file
./.
$ex -sc '%s/\.\/\./0|0/g|x' file
$cat file
0|0
1
ответ дан 1 November 2019 в 06:11

Другие вопросы по тегам:

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