(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 MOJAVE
cpanplus::shell::default5.18
CPANPLUS::Shell::Default(3pm) Perl Programmers Reference Guide CPANPLUS::Shell::Default(3pm)NAME
CPANPLUS::Shell::Default - the default CPANPLUS shell
SYNOPSIS
### loading the shell:
$ cpanp # run 'cpanp' from the command line
$ perl -MCPANPLUS -eshell # load the shell from the command line
use CPANPLUS::Shell qw[Default]; # load this shell via the API
# always done via CPANPLUS::Shell
my $ui = CPANPLUS::Shell->new;
$ui->shell; # run the shell
$ui->dispatch_on_input( input => 'x'); # update the source using the
# dispatch method
### when in the shell:
### Note that all commands can also take options.
### Look at their underlying CPANPLUS::Backend methods to see
### what options those are.
cpanp> h # show help messages
cpanp> ? # show help messages
cpanp> m Acme # find acme modules, allows regexes
cpanp> a KANE # find modules by kane, allows regexes
cpanp> f Acme::Foo # get a list of all releases of Acme::Foo
cpanp> i Acme::Foo # install Acme::Foo
cpanp> i Acme-Foo-1.3 # install version 1.3 of Acme::Foo
cpanp> i <URI> # install from URI, like ftp://foo.com/X.tgz
cpanp> i <DIR> # install from an absolute or relative directory
cpanp> i 1 3..5 # install search results 1, 3, 4 and 5
cpanp> i * # install all search results
cpanp> a KANE; i *; # find modules by kane, install all results
cpanp> t Acme::Foo # test Acme::Foo, without installing it
cpanp> u Acme::Foo # uninstall Acme::Foo
cpanp> d Acme::Foo # download Acme::Foo
cpanp> z Acme::Foo # download & extract Acme::Foo, then open a
# shell in the extraction directory
cpanp> c Acme::Foo # get a list of test results for Acme::Foo
cpanp> l Acme::Foo # view details about the Acme::Foo package
cpanp> r Acme::Foo # view Acme::Foo's README file
cpanp> o # get a list of all installed modules that
# are out of date
cpanp> o 1..3 # list uptodateness from a previous search
cpanp> s conf # show config settings
cpanp> s conf md5 1 # enable md5 checks
cpanp> s program # show program settings
cpanp> s edit # edit config file
cpanp> s reconfigure # go through initial configuration again
cpanp> s selfupdate # update your CPANPLUS install
cpanp> s save # save config to disk
cpanp> s mirrors # show currently selected mirrors
cpanp> ! [PERL CODE] # execute the following perl code
cpanp> b # create an autobundle for this computers
# perl installation
cpanp> x # reload index files (purges cache)
cpanp> x --update_source # reload index files, get fresh source files
cpanp> p [FILE] # print error stack (to a file)
cpanp> v # show the banner
cpanp> w # show last search results again
cpanp> q # quit the shell
cpanp> e # exit the shell and reload
cpanp> /plugins # list available plugins
cpanp> /? PLUGIN # list help test of <PLUGIN>
### common options:
cpanp> i ... --skiptest # skip tests
cpanp> i ... --force # force all operations
cpanp> i ... --verbose # run in verbose mode
DESCRIPTION
This module provides the default user interface to "CPANPLUS". You can start it via the "cpanp" binary, or as detailed in the SYNOPSIS.
BUG REPORTS
Please report bugs or other issues to <bug-cpanplus@rt.cpan.org<gt>.
AUTHOR
This module by Jos Boumans <kane@cpan.org>.
COPYRIGHT
The CPAN++ interface (of which this module is a part of) is copyright (c) 2001 - 2007, Jos Boumans <kane@cpan.org>. All rights reserved.
This library is free software; you may redistribute and/or modify it under the same terms as Perl itself.
SEE ALSO
CPANPLUS::Shell::Classic, CPANPLUS::Shell, cpanp
perl v5.18.2 2014-01-06 CPANPLUS::Shell::Default(3pm)