Sponsored Content
Full Discussion: cut and paste?
Top Forums Shell Programming and Scripting cut and paste? Post 302347944 by FlyingSquirrel on Thursday 27th of August 2009 03:04:17 AM
Old 08-27-2009
Here is another way using Perl...

Assuming you have a file "pay1" containing:
Code:
EmployeeID
101
Day_type, day
vacation,1/2/2009
sick day, 3/2/2009
personal day, 4/5/2009
jury duty day, 5/5/2009

Here is a perl program "pay1.pl"...
Code:
#!/usr/bin/perl -w
while (<>) {                    #while not end of standard input
   chomp;                       #Take of end of line char
   $line = $_;                  #whole line string wo/end of line char
   @a = split (/,/, $line);     #Split line by comma into array
   if ($. == 1) {               #only on line 1
      $col1_title = $a[0];      #Grab text EmployeeID
   }
   elsif ($. == 2) {            #only on line 2
      $col1_value = $a[0];      #Grab 101
   }
   elsif ($. == 3) {            #only on line 3
      $col2_title = $a[0];      #Grab Day_type
      $col3_title = $a[1];      #Grab day
                                #print heading line
      printf("%s,%s,%s\n", $col1_title, $col2_title, $col3_title);
   }
   else {                       #any line other than 1,2,3
      $col2_value = $a[0];      #Grab value of day type
      $col3_value = $a[1];      #Grab value of day
                                #print out 101, type value, day value
      printf("%s,%s,%s\n", $col1_value, $col2_value, $col3_value);
   }
}

You run the program passing the file using standard input...
Code:
cat pay1 | perl pay1.pl

Output is...
Code:
EmployeeID,Day_type, day
101,vacation,1/2/2009
101,sick day, 3/2/2009
101,personal day, 4/5/2009
101,jury duty day, 5/5/2009

 

10 More Discussions You Might Find Interesting

1. UNIX Desktop Questions & Answers

Cut, Copy and Paste with X

One of the things that I have learned to take for granted in the Win32 world is the cut, copy and paste hotkeys of ^X, ^C and ^V. I use these keys all the time under Win32 to copy and paste information from one GUI into another GUI. My question is, does X have a similiar standard? ... (4 Replies)
Discussion started by: auswipe
4 Replies

2. Shell Programming and Scripting

cut & paste

hi i am new to shell scripting, i have been trying to cut columns numbered 1,4 of a file consisiting of 4 columns. Each column is seperated by 2 spaces. for example: john 6102097199 tennessee usa michel 6734590899 texas USA now, i need to cut the name... (3 Replies)
Discussion started by: t_harsha18
3 Replies

3. Shell Programming and Scripting

Cut Paste and Insert Help

Hello I have a very large file where say each line is made up of 80 characters. I want to cut the characters from 20-30 and 50-60 from each line and then insert a delimiter between them (# or | etc). eg input file 000000000131.12.20990000590425246363375670011200140406... (5 Replies)
Discussion started by: PradeepRed
5 Replies

4. Shell Programming and Scripting

cut and paste using awk

Hi i need a favour i have a file which has some trillions of records. The file is like this 11111000000000192831840914000000000000000000000000000 45789899090000000000000000011111111111111111111111111 I want to cut specific postions in each line like cut1-3 and assisgn it to a variable and... (5 Replies)
Discussion started by: richa2.m
5 Replies

5. UNIX for Dummies Questions & Answers

cut and paste from two tables

Hello, I want to be able to cut and paste columns from two tables in one command. Presently I do the following: cut -f 1,3-6,9 table1.in > table1.out cut -f 7,6,1-3 table2.in > table2.out paste table1.out -d '\t' table2.out > MergedTable.out Is there a better way to do this? ... (1 Reply)
Discussion started by: Gussifinknottle
1 Replies

6. Shell Programming and Scripting

cut and paste

Hi, Need a help with shell script. I have to search for a string in one of the file, if match found, copy the line to a new file and delete the line from the exisiting file. eg: 83510000000000063800000.1800000.1600000.1600000.2400000.1800000.2000000.21... (6 Replies)
Discussion started by: gpaulose
6 Replies

7. UNIX for Dummies Questions & Answers

Cut paste from one file to other

Hello, I am working on unix for the first time. I have to write a shell script where i want to cut paste from one file to other. File "1234.abc" is 03,12345555 16,936,x,x,120 16,936,x,x,100 49,12345555 03,12347710 16,936,x,x,115 16,936,x,x,122 49,12347710 03,12342222... (9 Replies)
Discussion started by: swapsb
9 Replies

8. Shell Programming and Scripting

need help with cut and paste command

I have a file which contains 3 fields separated by tabs example andrew kid baker I need to swap kid and baker using cut and paste commands how is this to be done? Thanks (3 Replies)
Discussion started by: drew211
3 Replies

9. Shell Programming and Scripting

Issue with cut and paste

let i have A file and B file A has contains 4 fields as below ---------------- f1 f2 f3 f4 B file consists of 5 fields as below -------------------- f5 f6 f7 f8 f9 need to display as below output: f5 f1 f3 f8 f9 (2 Replies)
Discussion started by: ANSHUMAN1983
2 Replies

10. Shell Programming and Scripting

Problem in cut or paste

Hello, I have some problem in cut or paste command for my text data. Input1.txt : I use cut command : cut -d ' ' -f1 Input1.txt > result.txt result.txt : Then, I use paste command to merge result.txt. paste -d ' ' result.txt Input1.txt > output.txt output.txt showed : I use cut... (1 Reply)
Discussion started by: awil
1 Replies
DateTime::LeapSecond(3) 				User Contributed Perl Documentation				   DateTime::LeapSecond(3)

NAME
DateTime::LeapSecond - leap seconds table and utilities VERSION
version 1.06 SYNOPSIS
use DateTime; use DateTime::LeapSecond; print "Leap seconds between years 1990 and 2000 are "; print DateTime::Leapsecond::leap_seconds( $utc_rd_2000 ) - DateTime::Leapsecond::leap_seconds( $utc_rd_1990 ); DESCRIPTION
This module is used to calculate leap seconds for a given Rata Die day. It is used when DateTime.pm cannot compile the XS version of this code. This library is known to be accurate for dates until December 2009. There are no leap seconds before 1972, because that's the year this system was implemented. o leap_seconds( $rd ) Returns the number of accumulated leap seconds for a given day, in the range 0 .. 22. o extra_seconds( $rd ) Returns the number of leap seconds for a given day, in the range -2 .. 2. o day_length( $rd ) Returns the number of seconds for a given day, in the range 86398 .. 86402. SEE ALSO
<http://hpiers.obspm.fr/eop-pc/earthor/utc/leapsecond.html> http://datetime.perl.org AUTHOR
Dave Rolsky <autarch@urth.org> COPYRIGHT AND LICENSE
This software is Copyright (c) 2013 by Dave Rolsky. This is free software, licensed under: The Artistic License 2.0 (GPL Compatible) perl v5.18.2 2017-10-06 DateTime::LeapSecond(3)
All times are GMT -4. The time now is 01:15 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy