Sponsored Content
Full Discussion: Replacing fields
Top Forums Shell Programming and Scripting Replacing fields Post 302439888 by Tr0cken on Saturday 24th of July 2010 02:40:53 PM
Old 07-24-2010
Replacing fields

Hi!

I have a file somefile.txt:
Code:
12, 1, a, b, c, d, e, f
12, 1, a, b, c, d, e, f
17, 51, a, b, c, d, e, f
...

I've made this script to read two fields from a line and output a third:
Code:
cat  somefile.txt | awk -F, '{if ($1 == "12" && $2== "1")
	print "19";
else if ($1 == "17" && $2== "51")
	print "23";
else if ($1 == "71" && $2== "52")
	print "24";
else if ($1 == "12" && $2== "114")
	print "22";
else if ($1 == "71" && $2== "111")
	print "16";
else if ($1 == "17" && $2== "108")
	print "26"; 
else if ($1 == "71" && $2== "112")
	print "18";
else if ($1 == "17" && $2== "117")
	print "29";
else if ($1 == "31" && $2== "1")
	print "35";
else if ($1 == "19" && $2== "107")
	print "79";
else if ($1 == "13" && $2== "0")
	print "39";
else print "99";}'

However what I need to do is replace a field's #4 value with the result of this check for every line in a different file (including all tho other fields as well).

Anyone knows how can I do this?

Thanks.
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Specifying and replacing fields with awk

#cat BATCH007.TXT 01,661060052,061000104,081118,0915,07,80,1,2/ 99,,,2/ I have this file called BATCH007.TXT. I am trying to change fields 2 and 3 on line 2 to have zeroes. Like this: 01,661060052,061000104,081118,0915,07,80,1,2/ 99,0,0,2/ I can use these commands to print identify the... (2 Replies)
Discussion started by: ddurden7
2 Replies

2. UNIX for Dummies Questions & Answers

Finding & Replacing specific Fields

All I have a very large file (aproximately 150,000) as shown below separated by pipe "|". I need to replace data in 2, 16, 17, 23 fields that are of time stamp format. My goal is to look in those fields and it ends with "000000|" then replace it with "000|". In other words, make it as 6 digit... (2 Replies)
Discussion started by: ddraj2015
2 Replies

3. Shell Programming and Scripting

awk sed cut? to rearrange random number of fields into 3 fields

I'm working on formatting some attendance data to meet a vendors requirements to upload to their system. With some help on the forums here, I have the data close. But they've since changed what they want. The vendor wants me to submit three fields to them. Field 1 is the studentid field,... (4 Replies)
Discussion started by: axo959
4 Replies

4. Shell Programming and Scripting

Comparing two files and replacing fields

I have two files with ids and email addresses. File 2 cotains a subset of the records in file 1. The key field is the first field containing the id. file 1: 123|myadr@abc.com 456|myadr2@abc.com 789|myadr3@abc.com file 2: 456|adr456@xyz.com Where the record appears in the second... (3 Replies)
Discussion started by: tltroy
3 Replies

5. Shell Programming and Scripting

replacing a quote in some lines with multiple quote fields

i want to replace mistaken quotes in line starting with tag 300 and relocate the quote in the correct position so the input is 223;25 224;20100428064823;1;0;0;0;0;0;0;0;8;1;3;9697;18744;;;;;;;;;;;; 300;X;Event:... (3 Replies)
Discussion started by: wradwan
3 Replies

6. Shell Programming and Scripting

Replacing certain fields from certain rows

Hi all, say for example i have the next input file 30 Au 7.500000 7.500000 5.774000 Au 7.500000 8.995000 8.363000 Au 7.500000 6.005000 8.363000 Au 20.633000 7.500000 9.226000 Au 20.632000 6.005000 6.637000 Au 20.632000 ... (4 Replies)
Discussion started by: ezitoc
4 Replies

7. Shell Programming and Scripting

Swapping/replacing fields

Hallo Team, I would like to replace filed 4 and 7 with filed 39 how can i achieve this ? -bash-3.2$ cat dip1.csv| cut -f4,7,24,36,39 -d","|sort -u +27113996891,+27113996891,196.35.130.52,828854047,+27873500077 +27116452690,+27825702918,10.0.109.13:5060,+27116452690,+27116452690... (2 Replies)
Discussion started by: kekanap
2 Replies

8. Shell Programming and Scripting

Replacing entire fields with specific text at end or beginning of field

Greetings. I've got a csv file with data along these lines: Spumoni's Pizza Place, Placemats n Things, Just Lamps Counterfeit Dollars by Vinnie, Just Shades, Dollar StoreI want to replace the entire comma-delimited field if it matches something ending in "Place" or beginning with "Dollar",... (2 Replies)
Discussion started by: palmfrond
2 Replies

9. Shell Programming and Scripting

awk sort based on difference of fields and print all fields

Hi I have a file as below <field1> <field2> <field3> ... <field_num1> <field_num2> Trying to sort based on difference of <field_num1> and <field_num2> in desceding order and print all fields. I tried this and it doesn't sort on the difference field .. Appreciate your help. cat... (9 Replies)
Discussion started by: newstart
9 Replies

10. UNIX for Beginners Questions & Answers

Is there a UNIX command that can compare fields of files with differing number of fields?

Hi, Below are the sample files. x.txt is from an Excel file that is a list of users from Windows and y.txt is a list of database account. $ head -500 x.txt y.txt ==> x.txt <== TEST01 APP_USER_PROFILE USER03 APP_USER_PROFILE TEST02 APP_USER_EXP_PROFILE TEST04 APP_USER_PROFILE USER01 ... (3 Replies)
Discussion started by: newbie_01
3 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 03:12 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy