LINUX.ORG.RU

Проблемка с bash и sed.

 ,


0

1

Как заставить sed изменить содержимое файла ?

sed -E 's/^([^#]*)#/\1%/; s/^([^#]*)#/\1?;/; s/^([^#]*)#/\1?#/; s/$/#\r/;' filename
выводит в консоль. Выводит правильно.
Только мне надо что бы он и изменения производил.

★★★★★

Ответ на: комментарий от renya

Файлы находятся в директориях. Я запускал так:

sed -E 's/^([^#]*)#/\1%/; s/^([^#]*)#/\1?;/; s/^([^#]*)#/\1?#/; s/$/#\r/;' */*
Как в этом случае ?

dada ★★★★★
() автор топика
Ответ на: комментарий от derlafff
sed -iE 's/^([^#]*)#/\1%/; s/^([^#]*)#/\1?;/; s/^([^#]*)#/\1?#/; s/$/#\r/;' */*
sed: -e expression #1, char 17: invalid reference \1 on `s' command's RHS
dada ★★★★★
() автор топика
Ответ на: комментарий от derlafff

Получилось так sed -Ei 's/^([^#]*)#/\1%/; s/^([^#]*)#/\1?;/; s/^([^#]*)#/\1?#/; s/$/#\r/;'

dada ★★★★★
() автор топика

Всем спасибо.

-i[SUFFIX], --in-place[=SUFFIX]

              edit  files in place (makes backup if extension supplied).  The default operation mode is to break symbolic and hard links.  This can be changed with --follow-sym-
              links and --copy.

dada ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.