URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 7227
[ Назад ]

Исходное сообщение
"преобразование строк в табличный вид"

Отправлено rec , 03-Мрт-08 09:30 
Free BSD
не могли бы Вы помочь преобразовать на Shell файл вида

а    0
b    12
c    10

а    0
b    10
c    9

а    1
b    102
c    2

и т.д.

в вид:

0    12    10
0    10    9
1    102    2
и т.д.


или подсказать примерно в каком направлении идти?


Содержание

Сообщения в этом обсуждении
"преобразование строк в табличный вид"
Отправлено phpcoder , 03-Мрт-08 09:41 
[...]
>или подсказать примерно в каком направлении идти?

Слишком простая задача. Так что даю готовый ответ :)

coder@xxx ~ $ cat TEST
а       0
b       12
c       10

а       0
b       10
c       9

а       1
b       102
c       2
coder@xxx ~ $ awk '{if(length($0)){print $2}}' TEST | paste - - -
0       12      10
0       10      9
1       102     2
coder@xxx ~ $


"преобразование строк в табличный вид"
Отправлено rec , 03-Мрт-08 10:19 
Большое спасибо.Я не совсем внимательно просмотрел исходный техт, он несколько сложнее и этим скриптом естественно обрабатывается не корректно, данные во второй строке, представляющие совокупность даты и времени через пробел сбивают его работу.


а    0
b    2008-03-01 10:07:23
c    10
d    1

а    0
b    2008-03-01 10:07:53
c    9
d                                        # отсутствуют данные

а    1
b    2008-03-01 10:08:23
c    2
d    5

и т.д.

в вид:

0    2008-03-01 10:07:23    10     1
0    2008-03-01 10:07:53    9      
1    2008-03-01 10:08:23    2      5
и т.д.

phpcoder не могли бы помочь чайнику? буду очень признателен


"преобразование строк в табличный вид"
Отправлено phpcoder , 03-Мрт-08 10:26 
Вместо paste - - - напишите paste - - - -



"преобразование строк в табличный вид"
Отправлено phpcoder , 03-Мрт-08 10:38 
>Вместо paste - - - напишите paste - - - -

Или вот ещё вариант:

coder@xxx ~ $ colrm 1 2 <TEST | paste - - - - -
   0       2008-03-01 10:07:23     10      1
   0       2008-03-01 10:07:53     9
   1       2008-03-01 10:08:23     2       5


"преобразование строк в табличный вид"
Отправлено rec , 03-Мрт-08 11:32 
последний вариант заработал, спасибо.
У меня есть небольшая проблемка, немного из другой области, но непосредственно влияющая на результат работы скрипта. Исходный файл получаю на машине с WIN-NT, сохраняется он в формате .txt и передается на компьютер с FreeBSD. Так вот под unixом , если посмотреть этот файл cat file.txt, то смотрится нормально, но если посмотреть редактором joe, то в файле видны знаки перевода строки _M (подчеркнутая М), которые сбивают правильную работу скрипта. Можно ли как то избавиться от них? Не знаю как их обозначить для глобальной замены...



"преобразование строк в табличный вид"
Отправлено Arpo , 03-Мрт-08 11:37 
>последний вариант заработал, спасибо.
>У меня есть небольшая проблемка, немного из другой области, но непосредственно влияющая
>на результат работы скрипта. Исходный файл получаю на машине с WIN-NT,
>сохраняется он в формате .txt и передается на компьютер с FreeBSD.
>Так вот под unixом , если посмотреть этот файл cat file.txt,
>то смотрится нормально, но если посмотреть редактором joe, то в файле
>видны знаки перевода строки _M (подчеркнутая М), которые сбивают правильную работу
>скрипта. Можно ли как то избавиться от них? Не знаю как
>их обозначить для глобальной замены...

dos2unix Тебе в помощ...


"преобразование строк в табличный вид"
Отправлено rec , 03-Мрт-08 11:52 

>dos2unix Тебе в помощ...

???
версия FreeBSD не совсем последняя, dtox нет... :(
и как еще можно?


"преобразование строк в табличный вид"
Отправлено madskull , 03-Мрт-08 11:56 
>
>>dos2unix Тебе в помощ...
>
>???
>версия FreeBSD не совсем последняя, dtox нет... :(
>и как еще можно?

sed 's/\r//' file


"преобразование строк в табличный вид"
Отправлено Arpo , 03-Мрт-08 11:59 
>
>>dos2unix Тебе в помощ...
>
>???
>версия FreeBSD не совсем последняя, dtox нет... :(
>и как еще можно?

Чтота такое тоже должно работать
tr -d \\r < win.txt > unix.txt


"преобразование строк в табличный вид"
Отправлено rec , 03-Мрт-08 13:48 
спасибо всем за ликбез, за помощь.
Косяки исправил, получил, то, что хотел.