From: shulamitm on
Hello,

I'm looking for solution to the following problem:

I have a file contains 2 fileds, but in a few rows, the second field
go down (without spaces) to the next line.
How can I join the splitted lines?

For exmple:

I need to change the following :

ERROR1 1
ERROR2 1
WARNING1 0
WARNING2
0
WARNING3
0
ERROR3 1


To:



ERROR1 1
ERROR2 1
WARNING1 0
WARNING2 0
WARNING3 0
ERROR3 1

Thanks in advance!
From: superpollo on
shulamitm ha scritto:
> Hello,
>
> I'm looking for solution to the following problem:
>
> I have a file contains 2 fileds, but in a few rows, the second field
> go down (without spaces) to the next line.
> How can I join the splitted lines?
>
> For exmple:
>
> I need to change the following :
>
> ERROR1 1
> ERROR2 1
> WARNING1 0
> WARNING2
> 0
> WARNING3
> 0
> ERROR3 1
>
>
> To:
>
>
>
> ERROR1 1
> ERROR2 1
> WARNING1 0
> WARNING2 0
> WARNING3 0
> ERROR3 1
>
> Thanks in advance!

if you dont mind the whitespace:

~/superpollo$ cat fields.sh
#!/usr/bin/env bash
while read A B
do
echo -n $A" "
if [ -z "$B" ]
then
read B
echo $B
else
echo $B
fi
done
~/superpollo$ cat fields
ERROR1 1
ERROR2 1
WARNING1 0
WARNING2
0
WARNING3
0
ERROR3 1
~/superpollo$ ./fields.sh < fields
ERROR1 1
ERROR2 1
WARNING1 0
WARNING2 0
WARNING3 0
ERROR3 1
~/superpollo$

bye



--
Il valore 96 sarebbe,Volendo, un ipercubo in i.
From: shulamitm on
On 6 יוני, 12:50, superpollo <ute...(a)esempio.net> wrote:
> shulamitm ha scritto:
>
>
>
>
>
> > Hello,
>
> > I'm looking for solution to the following problem:
>
> > I have a file contains 2 fileds, but in a few rows, the second field
> > go down (without spaces)  to the next line.
> > How can I join the splitted lines?
>
> > For exmple:
>
> > I need to change the following :
>
> >    ERROR1         1
> >    ERROR2        1
> >    WARNING1      0
> >    WARNING2
> >    0
> >    WARNING3
> >    0
> >    ERROR3            1
>
> > To:
>
> >    ERROR1         1
> >    ERROR2        1
> >    WARNING1      0
> >    WARNING2       0
> >    WARNING3      0
> >    ERROR3            1
>
> > Thanks in advance!
>
> if you dont mind the whitespace:
>
> ~/superpollo$ cat fields.sh
> #!/usr/bin/env bash
> while read A B
> do
>      echo -n $A" "
>      if [ -z "$B" ]
>      then
>          read B
>          echo $B
>      else
>          echo $B
>      fi
> done
> ~/superpollo$ cat fields
>     ERROR1         1
>     ERROR2        1
>     WARNING1      0
>     WARNING2
>     0
>     WARNING3
>     0
>     ERROR3            1
> ~/superpollo$ ./fields.sh < fields
> ERROR1 1
> ERROR2 1
> WARNING1 0
> WARNING2 0
> WARNING3 0
> ERROR3 1
> ~/superpollo$
>
> bye
>
> --
> Il valore 96 sarebbe,Volendo, un ipercubo in i.-הסתר טקסט מצוטט-
>
> -הראה טקסט מצוטט-

thanks!
how can I do the same in korn shell or c shell?
From: superpollo on
shulamitm ha scritto:
> On 6 יוני, 12:50, superpollo <ute...(a)esempio.net> wrote:
>> shulamitm ha scritto:
>>
>>
>>
>>
>>
>>> Hello,
>>> I'm looking for solution to the following problem:
>>> I have a file contains 2 fileds, but in a few rows, the second field
>>> go down (without spaces) to the next line.
>>> How can I join the splitted lines?
>>> For exmple:
>>> I need to change the following :
>>> ERROR1 1
>>> ERROR2 1
>>> WARNING1 0
>>> WARNING2
>>> 0
>>> WARNING3
>>> 0
>>> ERROR3 1
>>> To:
>>> ERROR1 1
>>> ERROR2 1
>>> WARNING1 0
>>> WARNING2 0
>>> WARNING3 0
>>> ERROR3 1
>>> Thanks in advance!
>> if you dont mind the whitespace:
>>
>> ~/superpollo$ cat fields.sh
>> #!/usr/bin/env bash
>> while read A B
>> do
>> echo -n $A" "
>> if [ -z "$B" ]
>> then
>> read B
>> echo $B
>> else
>> echo $B
>> fi
>> done
>> ~/superpollo$ cat fields
>> ERROR1 1
>> ERROR2 1
>> WARNING1 0
>> WARNING2
>> 0
>> WARNING3
>> 0
>> ERROR3 1
>> ~/superpollo$ ./fields.sh < fields
>> ERROR1 1
>> ERROR2 1
>> WARNING1 0
>> WARNING2 0
>> WARNING3 0
>> ERROR3 1
>> ~/superpollo$
>>
>> bye
>>
>> --
>> Il valore 96 sarebbe,Volendo, un ipercubo in i.-הסתר טקסט מצוטט-
>>
>> -הראה טקסט מצוטט-
>
> thanks!
> how can I do the same in korn shell or c shell?

beats me. i do not use them.

but i think it will work ok at least in korn.

bye

From: Ed Morton on
On 6/6/2010 4:01 AM, shulamitm wrote:
> Hello,
>
> I'm looking for solution to the following problem:
>
> I have a file contains 2 fileds, but in a few rows, the second field
> go down (without spaces) to the next line.
> How can I join the splitted lines?
>
> For exmple:
>
> I need to change the following :
>
> ERROR1 1
> ERROR2 1
> WARNING1 0
> WARNING2
> 0
> WARNING3
> 0
> ERROR3 1
>
>
> To:
>
>
>
> ERROR1 1
> ERROR2 1
> WARNING1 0
> WARNING2 0
> WARNING3 0
> ERROR3 1
>
> Thanks in advance!

awk 'NF==1 { if (p=="") { p=$0; next } else { $0=p$0; p="" } }1' file

Ed.