Страница 1 из 1
Кто поможет превести текст в такой вид
Добавлено: 2011-11-27 13:54:11
ruslanstep1
Нужно Bash скриптом привести вот этот текст
- УЖ-809132
УЖ-809132
00170
2011-11-26
01462K211
1040.00
5200.00
кг
УЖ-809132
УЖ-809132
УЖ-809132
00170
2011-11-26
05736K202
720.00
14400.00
шт
УЖ-809132
к такому
- УЖ-809132 УЖ-809132 00170 2011-11-26 01462K211 1040.00 5200.00 кг УЖ-809132
УЖ-809132 УЖ-809132 00170 2011-11-26 05736K202 720.00 14400.00 шт УЖ-809132
Заранее Всем спасибо
Re: Кто поможет превести текст в такой вид
Добавлено: 2011-11-27 15:51:21
Bayerische
tr "\n" " "
Re: Кто поможет превести текст в такой вид
Добавлено: 2011-11-27 16:01:50
ruslanstep1
Bayerische писал(а):tr "\n" " "
эта команда переводит все в одну строку
- УЖ-809132 УЖ-809132 00170 2011-11-26 01462K211 1040.00 5200.00 кг УЖ-809132 УЖ-809132 УЖ-809132 00170 2011-11-26 05736K202 720.00 14400.00 шт УЖ-809132 УЖ-809132 УЖ-809132 00170 2011-11-26 08278K204 216.00 1296.00 кг УЖ-809132 УЖ-809132 УЖ-809132 00170 2011-11-26 02687K201 432.00 2592.00 кг УЖ-809132
Re: Кто поможет превести текст в такой вид
Добавлено: 2011-11-27 18:31:44
Bayerische
Первым проходом
tr "\n\n" "#"
Вторым проходом
tr "\n" " "
Третьим проходом
tr "#" "\n "
Re: Кто поможет превести текст в такой вид
Добавлено: 2011-11-28 5:16:32
x6e6564
Если пол-во "столбцов" одинаково, то наверно следует использовать xargs
Код: Выделить всё
cat /tmp/1.txt
УЖ-809132
УЖ-809132
00170
2011-11-26
01462K211
1040.00
5200.00
кг
УЖ-809132
cat /tmp/1.txt | xargs -n 9
УЖ-809132 УЖ-809132 00170 2011-11-26 01462K211 1040.00 5200.00 кг УЖ-809132
Re: Кто поможет превести текст в такой вид
Добавлено: 2011-11-28 21:08:26
kpp
Предлагаю более (как по мне) красивый вариант:
Код: Выделить всё
sed -n '/^..*$/,/^$/{; /^$/!H; /^$/{; x; s/\n/ /g; p; }; ${; x; s/\n/ /g; p; }; }' file.txt
Или более короткий вариант, но тогда нужно соблюсти условие: в конце файла должно быть обязательно два \n
Код: Выделить всё
sed -n '/^..*$/,/^$/{; /^$/!H; /^$/{; x; s/\n/ /g; p; }; }' file.txt
Re: Кто поможет превести текст в такой вид
Добавлено: 2011-11-29 16:06:12
Bayerische
kpp
Shell FreeBSD не умеет \n. В Линупсе пожалуйста.
Re: Кто поможет превести текст в такой вид
Добавлено: 2011-11-29 16:16:12
kpp
2 Bayerische
Этот скрипт тестировал именно на FreeBSD. Или я чего не понял?
Re: Кто поможет превести текст в такой вид
Добавлено: 2011-11-30 5:47:36
ruslanstep1
Всем спасибо
