Sponsored Content
Top Forums Shell Programming and Scripting Concatenate small line with next line perl script Post 302872773 by Ophiuchus on Sunday 10th of November 2013 01:07:38 AM
Old 11-10-2013
Concatenate small line with next line perl script

Hello to all,

I'm new to perl, I have input file that contains the string below:
Code:
315350535ff450000014534130101ff4500ff45453779ff450ff45545f01ff45ff453245341ff4500000545000

This string has as line separator "ff45". So, I want to print each line but the code below is not working.
Code:
perl -pe '
local $/;
$/ = "ff45";
while (<FILE>){
    print;
}' file

If the only condition is set as line separator "ff45", the output would be:
Code:
315350535ff45
0000014534130101ff45
00ff45
453779ff45
0ff45
545f01ff45
ff45
3245341ff45
00000545000

But when the line length is less than 7 I want to concatenate that small line with the next one,
So, the final output I'd like to get is below (red part is small line, in blue next line):
Code:
315350535ff45
0000014534130101ff45
00ff45453779ff45
0ff45545f01ff45
ff453245341ff45
00000545000

May you help me in how to get this.

PS: If possible, I'd like only to modify the code inside the while loop, since I want to incorporate as part of a bigger script.

Thanks in advance.
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

concatenate all duplicate line in a file.

Hi All, i have a zip file like the format 794051400123|COM|24|0|BD|R|99.98 794051413727|COM|11|0|BD|R|28.99 794051415622|COM|23|0|BD|R|28.99 883929004676|COM|0|0|BD|R|28.99 794051400123|MOM|62|0|BD|R|99.98 794051413727|MOM|4|0|BD|R|28.99 794051415622|MOM|80|0|BD|R|28.99 ... (30 Replies)
Discussion started by: vaskarbasak
30 Replies

2. Shell Programming and Scripting

Concatenate strings line by line

Hi, I have a noob question . Can someone help me how to concatenate line by line using this variables? var1: Apple| Banana| var2: Red Yellow then how can I concatenate both line by line? in which the result would be: Apple|Red Banana|Yellow just to generate a row result i was... (6 Replies)
Discussion started by: hagdanan
6 Replies

3. Shell Programming and Scripting

Perl script to search a line and copy it to another line

Hi I have a log file (say log.txt). I have to search for a line which has the string ( say ERROR) in the log file and copy 15 lines after this into another file (say error.txt). Can someone give me the code and this has to be in PERL Thanks in advance Ammu (3 Replies)
Discussion started by: ammu
3 Replies

4. Shell Programming and Scripting

small sed script on command line.

Can anyone help me get this small sed script to work in shell on the command line? I need it in a one liner really as i want to edit many scripts in a for loop and dont want to have to invoke a separate script each time. #!/bin/sh sed '/mailx\ -s.*$ { i\ #Comment above mailx line ... (5 Replies)
Discussion started by: lavascript
5 Replies

5. Infrastructure Monitoring

How to concatenate this simple line in Unix?

Hi: I use the snmpget command everyday. And Im getting tire of writing the same line evertime I have to verify something. Example of the line: snmpget -c DreamTeam dal2-hr2 ifAlias.227 The .227 its the circuit interface and also its variable; could be any other number depending on the... (13 Replies)
Discussion started by: javygonx
13 Replies

6. Shell Programming and Scripting

perl/unix: script in command line works but not in perl

so in unix this command works works and shows me a list of directories find . -name \*.xls -exec dirname {} \; | sort -u | > list.txt but when i try running a perl script to run this command my $query = 'find . -name \*.xls -exec dirname {} \; | sort -u | > list.txt';... (2 Replies)
Discussion started by: kpddong
2 Replies

7. Shell Programming and Scripting

PERL or SHELL Scrript to search in Directories by taking line by line from a text file

Unix box server version *********** >uname -r B.11.00 >echo $SHELL /usr/bin/ksh --> in this server, I have the path like /IMbuild/dev/im0serv1 ---> in that directory I have the folders startup(.jsp files nearly 100 jsp's ) and scripts(contains .js files nearly 100 files) ... (9 Replies)
Discussion started by: pasam
9 Replies

8. Shell Programming and Scripting

awk concatenate every line of a file in a single line

I have several hundreds of tiny files which need to be concatenated into one single line and all those in a single file. Some files have several blank lines. Tried to use this script but failed on it. awk 'END { print r } r && !/^/ { print FILENAME, r; r = "" }{ r = r ? r $0 : $0 }' *.txt... (8 Replies)
Discussion started by: sdf
8 Replies

9. Shell Programming and Scripting

Help with concatenate multiple line into one line

Hi, Do anybody experience how to concatenate multiple line into one line by using awk or perl command? Input file: >set1 QAWEQRQ@EWQEASED ASDAEQW QAWEQRQTQ ASRFQWRGWQ From the above Input file, it got 5 lines Desired output file: >set1... (6 Replies)
Discussion started by: perl_beginner
6 Replies

10. Shell Programming and Scripting

Perl command line option '-n','-p' and multiple files: can it know a file name of a printed line?

I am looking for help in processing of those options: '-n' or '-p' I understand what they do and how to use them. But, I would like to use them with more than one file (and without any shell-loop; loading the 'perl' once.) I did try it and -n works on 2 files. Question is: - is it possible to... (6 Replies)
Discussion started by: alex_5161
6 Replies
Graph(3pm)						User Contributed Perl Documentation						Graph(3pm)

NAME
SVG::Graph - Visualize your data in Scalable Vector Graphics (SVG) format. SYNOPSIS
use SVG::Graph; use SVG::Graph::Data; use SVG::Graph::Data::Datum; #create a new SVG document to plot in... my $graph = SVG::Graph->new(width=>600,height=>600,margin=>30); #and create a frame to hold the data/glyphs my $frame = $graph->add_frame; #let's plot y = x^2 my @data = map {SVG::Graph::Data::Datum->new(x=>$_,y=>$_^2)} (1,2,3,4,5); my $data = SVG::Graph::Data->new(data => @data); #put the xy data into the frame $frame->add_data($data); #add some glyphs to apply to the data in the frame $frame->add_glyph('axis', #add an axis glyph 'x_absolute_ticks' => 1, #with ticks every one #unit on the x axis 'y_absolute_ticks' => 1, #and ticks every one #unit on the y axis 'stroke' => 'black', #draw the axis black 'stroke-width' => 2, #and 2px thick ); $frame->add_glyph('scatter', #add a scatterplot glyph 'stroke' => 'red', #the dots will be outlined #in red, 'fill' => 'red', #filled red, 'fill-opacity' => 0.5, #and 50% opaque ); #print the graphic print $graph->draw; DESCRIPTION
SVG::Graph is a suite of perl modules for plotting data. SVG::Graph currently supports plots of one-, two- and three-dimensional data, as well as N-ary rooted trees. Data may be represented as: Glyph Name Dimensionality supported 1d 2d 3d tree -------------------------------------------------------- Axis x Bar Graph x Bubble Plot x Heatmap Graph x Line Graph x Pie Graph x Scatter Plot x Spline Graph x Tree x SVG::Graph 0.02 is a pre-alpha release. Keep in mind that many of the glyphs are not very robust. PLOTTING
You need to create a SVG::Graph::Frame instance from the parent SVG::Graph instance for each set of data to be plotted. Datasets can be hierarchical, and to represent this, SVG::Graph::Frame instances can themselves contain subframes. SVG::Graph::Frame can contain: - multiple subframes as instances of SVG::Graph::Frame - a single SVG::Graph::Data instance - multiple SVG::Graph::Glyph instances with which to render the attached SVG::Graph::Data instance, and all SVG::Graph::Data instances attached to SVG::Graph::Frame subinstances See SVG::Graph::Frame and SVG::Graph::Glyph for details. ONE DATA SET 1. create an SVG::Graph instance 2. create an SVG::Graph::Frame instance by calling SVG::Graph::add_frame(); 3. create an SVG::Graph::Data instance, containing an SVG::Graph::Data::Datum instance for each data point. 4. Attach the SVG::Graph::Data instance to your SVG::Graph::Frame using SVG::Graph::Frame::add_data(); 5. Attach glyphs to the SVG::Graph::Frame instance using SVG::Graph::Frame::add_glyph(); 6. Call SVG::Graph::draw(); MULTIPLE DATA SETS 1. create an SVG::Graph instance 2. create an SVG::Graph::Frame instance by calling SVG::Graph::add_frame(); 3. create an SVG::Graph::Data instance, containing an SVG::Graph::Data::Datum instance for each data point. 4. Attach the SVG::Graph::Data instance to your SVG::Graph::Frame using SVG::Graph::Frame::add_data(); 5. Attach glyphs to the SVG::Graph::Frame instance using SVG::Graph::Frame::add_glyph(); 6. repeat [2-5] for each additional data set to be added. add_frame() can be called on SVG::Graph to add top-level data sets, or SVG::Graph::Frame to add hierarchical data sets. 7. Call SVG::Graph::draw(); FEEDBACK
Send an email to the svg-graph-developers list. For more info, visit the project page at http://www.sf.net/projects/svg-graph AUTHORS
Allen Day, <allenday@ucla.edu> Chris To, <crsto@ucla.edu> CONTRIBUTORS
James Chen, <chenj@seas.ucla.edu> Brian O'Connor, <boconnor@ucla.edu> SEE ALSO
SVG METHODS
new Title : new Usage : my $graph = SVG::Graph->new(width=>600, height=>600, margin=>20); Function: creates a new SVG::Graph object Returns : a SVG::Graph object Args : width => the width of the SVG height => the height of the SVG margin => margin for the root frame init Title : init Usage : Function: Example : Returns : Args : width Title : width Usage : $obj->width($newval) Function: Example : Returns : value of width (a scalar) Args : on set, new value (a scalar or undef, optional) height Title : height Usage : $obj->height($newval) Function: Example : Returns : value of height (a scalar) Args : on set, new value (a scalar or undef, optional) margin Title : margin Usage : $obj->margin($newval) Function: Example : Returns : value of margin (a scalar) Args : on set, new value (a scalar or undef, optional) svg Title : svg Usage : $obj->svg($newval) Function: Example : Returns : value of svg (a scalar) Args : on set, new value (a scalar or undef, optional) add_frame Title : add_frame Usage : my $frame = $graph->add_frame Function: adds a Frame to the current Graph Returns : a SVG::Graph::Frame object Args : a hash. usable keys: frame_transform (optional) 'top' default orientation 'bottom' rotates graph 180 deg (about the center) 'right' points top position towards right 'left' points top position towards left frames Title : frames Usage : get/set Function: Example : Returns : Args : xoffset Title : xoffset Usage : $obj->xoffset($newval) Function: Example : Returns : value of xoffset (a scalar) Args : on set, new value (a scalar or undef, optional) yoffset Title : yoffset Usage : $obj->yoffset($newval) Function: Example : Returns : value of yoffset (a scalar) Args : on set, new value (a scalar or undef, optional) draw Title : draw Usage : $graph=>draw Function: depends on child glyph implementations Returns : xmlifyied SVG object Args : none perl v5.10.0 2009-01-07 Graph(3pm)
All times are GMT -4. The time now is 06:41 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy