Автор Гілка: sed і кінець рядка під офтопом  (Прочитано 1344 раз)

Відсутній cadca

  • Письменник
  • *****
  • дописів: 955
  • Карма: +0/-0
  • free like beer
Власне питання полягає в тому, як заставити sed не змінювати кінець рядка з \x0A на \x0A\x0D (правляться бінарні файли в пакетному режимі). Перепробував варіанти:
sed -i -e 's/щось/ще_щось/'
sed -i -b -e 's/щось/ще_щось/'
sed -i -n -e 'p;s/щось/ще_щось/'
sed -i -n -b -e 'p;s/щось/ще_щось/'
Версія sed - 4.2.
Ubuntu 20.04/18.04; CentOS 7.x

Відсутній nickat

  • Письменник
  • *****
  • дописів: 587
  • Карма: +0/-0
  • Debian user
Re: sed і кінець рядка під офтопом
« Відповідей #1 : 2010-02-08 12:53:49 »
Якщо нема необхідності використовувати саме sed, спробуйте це
http://sourceforge.net/projects/bbe-/
bbe - sed-like editor for binary files
« Змінено: 2010-02-08 12:54:18 від nickat »
Best regards,
nickat

Відсутній cadca

  • Письменник
  • *****
  • дописів: 955
  • Карма: +0/-0
  • free like beer
Re: sed і кінець рядка під офтопом
« Відповідей #2 : 2010-02-18 09:47:48 »
Зробив з допомогою perl'а:
$ cat old2new.bat
set oldfile=%1
set newfile=%oldfile%.bak
perl -pe "BEGIN{binmode(STDIN); binmode(STDOUT);}; s/щось/ще_щось/" %oldfile% > %newfile%
move /y %newfile% %oldfile%
« Змінено: 2010-02-18 09:48:10 від cadca »
Ubuntu 20.04/18.04; CentOS 7.x