LINUX.ORG.RU

[bash] Замена переводов строк «unix2dos»

 


0

0

Есть вот такой рецепт, который можно найти в Интернете:

cat "$filePath" | sed -e 's/$/\r/'

Однако, в этом случае sed, помимо прочего, заменяет буквальные
вхождения строки "\n" на возврат каретки.
Мне же нужна замена только реальных символов LF.
Подскажите выход, пожалуйста.

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

Я не понял, чтобы это сделать, нужно софт специальный устанавливать?
А специальную операционную систему для этих целей ставить не надо?

The_gray_Cardinal
() автор топика
Ответ на: комментарий от KRoN73

alex@k2907:~> unix2dos
bash: unix2dos: команда не найдена
alex@k2907:~> /usr/bin/unix2dos
bash: /usr/bin/unix2dos: Нет такого файла или каталога
alex@k2907:~> bash --version
GNU bash, version 3.2.39(1)-release (i586-suse-linux-gnu)
Copyright (C) 2007 Free Software Foundation, Inc

openSUSE 11.

The_gray_Cardinal
() автор топика
Ответ на: комментарий от The_gray_Cardinal

ПНХ троль.

З.Ы. по теме: переноси файлы из винды в *них через фтп в режиме ascii, a не binary

sdio ★★★★★
()

> sed, помимо прочего, заменяет буквальные
> вхождения строки "\n" на возврат каретки.

alexey@n5:~$ cat test.txt
a
A
b
B
"\n"
c
C
alexey@n5:~$ cat test.txt | sed -e 's/$/\r/'
a
A
b
B
"\n"
c
C

Хде замена \n ? Нету. Так що не sed так пакостит, совсем не sed.

anonymous
()
Ответ на: комментарий от The_gray_Cardinal

>bash: unix2dos: команда не найдена

$ qfile `which unix2dos`
app-text/unix2dos (/usr/bin/unix2dos)

$ eix app-text/unix2dos
[I] app-text/unix2dos
Available versions: 2.2-r1
Installed versions: 2.2-r1(15:46:40 28.09.2008)
Homepage: I HAVE NO HOME :(
Description: UNIX to DOS text file format converter

Хм :)

http://www.google.ru/search?complete=1&hl=ru&newwindow=1&client=o...

KRoN73 ★★★★★
()
Ответ на: комментарий от The_gray_Cardinal

>bash --version

А он-то какое отношение к /usr/bin/* имеет? :)

$ qlist bash|grep bin
/bin/sh
/bin/bash
/bin/rbash
/usr/bin/bashbug
/usr/bin/bash-completion-config

KRoN73 ★★★★★
()
Ответ на: комментарий от The_gray_Cardinal

rpm -qf /usr/bin/unix2dos unix2dos-2.2-26.2.2

это в RH. Поищи в репозитории этот пакет или похожий. Наверняка есть. Поставь. И все проблемы как рукой снимет.

sidor ★★
()
Ответ на: комментарий от sidor

опять лоханулся с форматирование :) Вобщем пакеты (их 2 оказалось. Я-то думал обе команды в одном будут) в RH называются unix2dos и второй dos2unix

sidor ★★
()
Ответ на: комментарий от anonymous

>> Хде замена \n ? Нету. Так що не sed так пакостит, совсем не sed.

Спасибо, ты абсолютно прав!
Это я ухитрился вывести данные в файл с помощью echo с опцией "-e".
Всё нормально работает, ничего sed лишнего не заменяет.
Хвала анонимусам, вопрос закрыт.
P.S. Никакие специальные утилиты для этой задачи не нужны.

The_gray_Cardinal
() автор топика
Ответ на: комментарий от j262

Ну sed же не только в качестве dos2unix можно использовать.

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