cut and paste using awk


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting cut and paste using awk
# 1  
Old 07-31-2009
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 redirect it to another file, then cut 4-6 assign it to variable and agn redirect, like this to the whole and i dnt want to use while loop..is there a better way to do it, may be cutting at multiple postions using awk.
Please help
# 2  
Old 07-31-2009
You can do something like this:

Code:
awk '{
  print substr($0,1,3 > "file1"
  print substr($0,4,2 > "file2"
}' file

# 3  
Old 07-31-2009
I remember seeing this post...but that thread was closed.

When you assign to variable, will the variable be same each time??
And when you redirect to another file, that another file will have each record in a new line??

One more thing, if you have huge file, using awk may not be the best way.
# 4  
Old 07-31-2009
No the variable is different..Like
a=cut 1-3
b=cut4-6 and so on from the first line ..likethis

The another file will have it like this
ab for line 1
ab corressponding to line 2
and so on
and yes its a very huge file and can you please suggest and alternative to it
# 5  
Old 07-31-2009
Code:
while read line
do
...
done < file

is the fastest way to read a file, i think. But since you are avoiding 'while', your options are limited to awk, cut, sed etc.
# 6  
Old 07-31-2009
Code:
awk '{for(i=0;i<18;i++){file=NR OFS i;print substr($0,(i*3+1),3) > file; close(file)}}' OFS="_" infile

This solution will split your huge file into multiple files.

Last edited by danmero; 07-31-2009 at 11:17 AM.. Reason: close each file
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Problem in Cut and paste

Hi, I have a file like this --> Consider z as space #cat filename ABC <!--Nzzzzz--> <!--RESUMO--> EFG XYZ <!--Nzzzzz--> <!--RESUMO--> I need to cut the <!--RESUMO--> part and paste it to the previous line so that the file will look like this--> ABC <!--Nzzzzz--><!--RESUMO-->... (4 Replies)
Discussion started by: samsonata
4 Replies

2. 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

3. UNIX for Dummies Questions & Answers

Need help with using 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 (1 Reply)
Discussion started by: drew211
1 Replies

4. Shell Programming and Scripting

Using a combination of sort/cut/grep/awk/join/paste/sed

I have a file and need to only select users that have a shell of “/bin/bash” in the line using awk or sed please help (4 Replies)
Discussion started by: boyboy1212
4 Replies

5. 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

6. Shell Programming and Scripting

cut and paste?

hi, I have a file with content like this for an employee: 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 how do I make the result to show: EmployeeID,Day_type,day 101,vacation,1/2/2009 101,sick day,... (6 Replies)
Discussion started by: jbchen
6 Replies

7. 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

8. UNIX for Dummies Questions & Answers

cut and paste columns using awk

Hi, Let's say that I have a file called table, I know that if I need to see a the second column for exampls I use: awk ' {print $2}' table.txt Is there anyway to use awk to actually cut a column and put it somewhere else in the table?:confused: (8 Replies)
Discussion started by: cosmologist
8 Replies

9. 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

10. 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
Login or Register to Ask a Question