The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Как записать несколько строк в файл с виндоус кодировкой ?"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Программирование под UNIX (Shell скрипты)
Изначальное сообщение [ Отслеживать ]

"Как записать несколько строк в файл с виндоус кодировкой ?"  +/
Сообщение от universite (ok) on 22-Апр-18, 03:03 
Имеется некая дискетка с FreeDOS. Она соответсвующим образом смонтирована на запись во FreeBSD.

Но не удается записать пару строк autoexec.bat

Пробовал


printf '%s\n%s\n' 'Hello' 'World!' >> $dir_tmp/ourimage/autoexec.bat
echo "AMI.BAT X9DRD5.116"       >> $dir_tmp/ourimage/autoexec.bat

и


echo "Hello"       >> $dir_tmp/ourimage/autoexec.bat
echo "World!"                        >> $dir_tmp/ourimage/autoexec.bat
echo "AMI.BAT X9DRD5.116"       >> $dir_tmp/ourimage/autoexec.bat

Все равно на выходе:


HelloWorld!AMI.BAT X9DRD5.116

P.S. echo -e во FreeBSD не работает....

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Как записать несколько строк в файл с виндоус кодировкой ?"  +/
Сообщение от PereresusNeVlezaetBuggy (ok) on 22-Апр-18, 05:52 
>[оверквотинг удален]
> echo "World!"          
>            
>   >> $dir_tmp/ourimage/autoexec.bat
> echo "AMI.BAT X9DRD5.116"       >> $dir_tmp/ourimage/autoexec.bat
>
> Все равно на выходе:
>
 
> HelloWorld!AMI.BAT X9DRD5.116
>

> P.S. echo -e во FreeBSD не работает....

Потому что в Windows разделитель строк — \r\n, а в *nix только \n. FreeBSD как таковая тут ни при чём.

Скорее всего, вот так сработает:

echo "Hello\r"; echo "World!\r"

А если нет, то есть 100% портабельный вариант:

printf "Hello\r\nWorld!\r\n"

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Как записать несколько строк в файл с виндоус кодировкой ?"  +/
Сообщение от universite (ok) on 22-Апр-18, 07:08 

> А если нет, то есть 100% портабельный вариант:
>
printf "Hello\r\nWorld!\r\n"

Спасибо, заработало.

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "Как записать несколько строк в файл с виндоус кодировкой ?"  +/
Сообщение от pavlinux (ok) on 12-Май-18, 04:33 
>> А если нет, то есть 100% портабельный вариант:
>>
printf "Hello\r\nWorld!\r\n"

> Спасибо, заработало.

Есть древнющая утиль -  dos2unix, правда уже разрослась до мегаконвертера.


$ cat unixfile.txt
Hello
World!

$ unix2dos < unixfile.txt > windowsfile.txt


$ cat windowsfile.txt | od -c
0000000   H   e   l   l   o  \r  \n   W   o   r   l   d   !  \r  \n
0000017


Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру