Отправляет email-рассылки с помощью сервиса Sendsay

Сделать строки равной длины

Привет всем.

Возникла странная задача:
Есть файл в котором строки имеют длину от 0 до 55 символов (в принципе могут
быть другой). Необходимо добавляя справа пробелы сделать все строки длиной 60
символов.

Как? Я уже в тупике.

Файл получен последовательным преобразованием sed, fmt, split. Теперь будет
обрабатываться с помощью paste. Результат после paste ужасен.

PS. Решения на Perl'е, Python'е и тем боле на C (C++) не предлагать (Победу в
уличных боях с применением ядерного оружия не одержать). Хотя, наверное,
придется писать что-то свое на C.

Ответить   Mon, 24 Apr 2006 23:02:26 +0700 (#541203)

 

Ответы:

В сообщении от 24 апреля 2006 20:02 Владимир Ковалев
написал(a):

dd это должен уметь, по крайней мере во времена перфокарт он
это умел.

Ответить   "Sergey B. Khvatov" Mon, 24 Apr 2006 18:24:21 +0400 (#541207)

 

On Mon, 24 Apr 2006 18:24:21 +0400
"Sergey B. Khvatov" <xbat***@t*****.ru> wrote:

Спасибо за подсказку. Только dd съедает переводы строк, помогла следующая
комбинация:

cat oldfile | dd cbs=60 conv=block | fold -w 60 > newfile

Только как теперь к последней строке добавить символ перевода строки ;)
dd ее съел, а fold не добавил. Ну да ладно, будем думать.

Ответить   Tue, 25 Apr 2006 00:57:03 +0700 (#541244)

 

-----BEGIN PGP SIGNED MESSAGEHash: SHA1

Владимир Ковалев wrote:

Нет ничего проще: echo "" >> file

- --
WBR, Vladimir Rusinov aka B.
- From our portfolio (http://location.org.ru/portfolio/)
http://location.org.ru - главный сайт Location Community
-----BEGIN PGP SIGNATUREVersion: GnuPG v1.4.2.2 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFETP8pZ4E7sNcp26sRAjySAJ4sBS0EctDuwfVfBsFDs9dtD6pGUwCgkrVj
vr1Cq8fe8X6MvVAb2A3aruw=
=i3oc
-----END PGP SIGNATURE-*Название листа "Linux: разрешение вопросов, перспективы и общение";
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
Номер письма: 26069; Возраст листа: 1004; Участников: 1529
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.discuss/msg/541299

Ответить   Mon, 24 Apr 2006 20:39:05 +0400 (#541299)

 

On Mon, 24 Apr 2006 20:39:05 +0400
Vladimir Rusinov <vladim***@l*****.ru> wrote:

Это понятно: cat | dd | fold > file; echo >> file
Просто echo >> file как-то некрасиво. Неэлегантно.
Впрочем спасибо. Тему можно считать закрытой.

Ответить   Tue, 25 Apr 2006 09:42:47 +0700 (#541384)

 

60

не поверишь :) утилитой, идентичной Сшной функции, идёт с coreutils
printf "%-60s" что_печатаем

-*Название листа "Linux: разрешение вопросов, перспективы и общение";
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
Номер письма: 26068; Возраст листа: 1004; Участников: 1529
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.discuss/msg/541271

Ответить   Mon, 24 Apr 2006 19:50:00 +0300 (#541271)