LINUX.ORG.RU

/n после 8000 байт


0

2

Как можно конвеерно делать перевод строки после каждых 8000 байт? В гугле не нашел, как это можно через awk и sed реализовать. А читать через баш по одному символу (единственный вариант, который я придумал) - это, имхо, извращение.

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

огромное спасибо :) я думаю, что можно делать препроцессинг sed'ом и построцессинг sed'ом, заменяя, скажем, на «1» перенос строки, а «1» заменять на «12», а «12» заменять на ??? а после fold'a уже сделать построцессинг, восстановив файл.

вот что-то только с этими заменами не получается. подскажите, как реализовать, ведь в ppp и других потоковых протоках так и делается как-раз

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

попробуй так, но я особенно не проверял

cat /input/file | xxd -ps -c 8000 | while read s; do
                                       echo "$s" | xxd -r -ps
                                       echo ""
                                    done

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

pppd написан на Си, может и вам не стоит мучать sed/awk, они предпочитают обработку строк, а не двоичного потока.

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

> построцессинг sed'ом, заменяя, скажем, на «1» перенос строки, а «1» заменять на «12», а «12» заменять на ??? а после fold'a уже сделать построцессинг

А "???" на что будешь заменять? При замене 1 на 12 у тебя увеличится длина строки.

Не занимайся ерундой, есть tr -d '\n' или tr '\n' ' '

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