(1) Your input file has a "readme" block at the start. You process it as if it were a normal line, which results in the vertical bars added to your header line.
(2) Instead of
, I would reverse the test and ask, whether a line contains a colon - and only then split it:
Actually, you can even get rid of the split by
(3) Note that, if you find a value, you always print it as "$value|". This means that every line has a vertical bar at the end.
(4) If your input has a sequence of more than one lines without a colon, you would also produce the same number of empty lines in the output.
Last edited by rovf; 06-09-2017 at 01:39 AM..
Reason: Improving solution
i have a report.csv file from oracle datavase
In that file data is like this with report heading and date
SALES DAILY REPORT
DATE: 06-26-2007
REPORT NAME: SALES DATA
AA.BB.CCCC.DDDD,BBBBB,06-26-2007,0,BEGIN,END
ZZ.VV.DDDD.XXXXXXX,MMMMMM,06-25-2007,18,BEGIN,END... (3 Replies)
Hi All,
I am new to shell scripts. I have a requirement to change the format of a file. Here is the original file:
#student layout
student_name
student_class
student_subject
david
5
chemistry
paul
4
physics
steve
6
mathematics
This is the format i need:
k1,david,5,chemistry... (1 Reply)
my question "format file using shell script " is not a homework. bad guess.
my actual file is much more complex. the requirement is to format the file before i can read it from SAP.
so i'd appreciate if any inputs can be provide.
i've tried most of the commands like tr and sed and nawk, no... (2 Replies)
Hi,
I am writting a script, which accepts input file as parameter.
Input file name is aa_bb_cc_dd_ee.<ext>
I need to check that input file name should be of 5 fileds.
Please help me out. :confused: (7 Replies)
Hi,
IŽd like to know how to program a shell script for know when a file changes and based on that make another tasks all this in real time.. Thanks (2 Replies)
Request if some one could provide me shell script that converts the below "input file" to "CSV format file" given
Name Domain Contact Phone Email Location
----------------------- ------------------------------------------------ ------- ----- ---------------------------------... (7 Replies)
hi,
I have a local.conf file which has the first line
TOPDIR = "/home/mvdev/workspace/boxer". I want to replace the value to
"/home/common/workspace/mirror". I tried the following perl command that is
perl -p -i -e 's/Path/path1/g' myfile.txt then
sed... (7 Replies)
I have a shell script which creates a CSV files. there are 3 fields, field1, field2 and comp. I will generates the values for field1 and field2 and Want to compare both. If field1>filed2 then comp should be success written in green in CSV file, else it should fail in red color. How can I change the... (5 Replies)
Discussion started by: sauravrout
5 Replies
LEARN ABOUT DEBIAN
io::async::protocol::linestream
IO::Async::Protocol::LineStream(3pm) User Contributed Perl Documentation IO::Async::Protocol::LineStream(3pm)NAME
"IO::Async::Protocol::LineStream" - stream-based protocols using lines of text
SYNOPSIS
Most likely this class will be subclassed to implement a particular network protocol.
package Net::Async::HelloWorld;
use strict;
use warnings;
use base qw( IO::Async::Protocol::LineStream );
sub on_read_line
{
my $self = shift;
my ( $line ) = @_;
if( $line =~ m/^HELLO (.*)/ ) {
my $name = $1;
$self->invoke_event( on_hello => $name );
}
}
sub send_hello
{
my $self = shift;
my ( $name ) = @_;
$self->write_line( "HELLO $name" );
}
This small example elides such details as error handling, which a real protocol implementation would be likely to contain.
DESCRIPTION EVENTS
The following events are invoked, either using subclass methods or CODE references in parameters:
on_read_line $line
Invoked when a new complete line of input is received.
PARAMETERS
The following named parameters may be passed to "new" or "configure":
on_read_line => CODE
CODE reference for the "on_read_line" event.
METHODS
$lineprotocol->write_line( $text )
Writes a line of text to the transport stream. The text will have the end-of-line marker appended to it; $text should not end with it.
AUTHOR
Paul Evans <leonerd@leonerd.org.uk>
perl v5.14.2 2012-10-24 IO::Async::Protocol::LineStream(3pm)