Visit Our UNIX and Linux User Community


Split file according to column values


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Split file according to column values
# 1  
Old 11-13-2013
Split file according to column values

Hi all,
I am trying to split a file by the values of the FIRST column.
The following
Code:
awk

works to split the file by the value of the LAST column -- How can I alter this to divide the column by the FIRST column??

Code:
awk -F"\t" '{ print > $NF ; close($NF)}' filename1

Thanks!
# 2  
Old 11-13-2013
Replace $NF with $1
This User Gave Thanks to Yoda For This Post:
# 3  
Old 11-13-2013
any reason to why it only prints out the first line of each different Col1 value?
# 4  
Old 11-13-2013
You should append to file instead because you are closing the file after each write operation:
Code:
print >> $1

This User Gave Thanks to Yoda For This Post:
# 5  
Old 11-13-2013
If I recall correctly, even > will append to a file if used in the same awk process. If you run awk several times, any instance should start a new output file with >; append with >>.
BUT: Sure it's the FIRST line per $1 value? Should it overwrite with >, I'd presume the last line is retained.
# 6  
Old 03-17-2014
OR something like this

Code:
$ awk -F'\t' '{if(!($NF in F)){ print > $NF } else { print >> $NF} ; F[$NF]; close($NF)}' file


Previous Thread | Next Thread
Test Your Knowledge in Computers #904
Difficulty: Medium
The benchmark used in the LINPACK Benchmark is to solve a dense system of nonlinear equations.
True or False?

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

To Split the file based on column value

Hi Team, I have a requirement in such a way that need to split the file into two based on which column particular value appears.Please find my sample file below. Lets consider the delimiter of this file as either comma or two colons.(:: and ,). So I need to split the file in such a way that all... (2 Replies)
Discussion started by: ginrkf
2 Replies

2. Shell Programming and Scripting

Split file when value in column is blank

Hi Experts, In short : Need to split file when field in column 5 is blank and need to generate two file in which column 5 is blank and other in which column 5 has values along with other rows and column data My issue is i am not able to get header for column from raw file into new file which... (4 Replies)
Discussion started by: as7951
4 Replies

3. Shell Programming and Scripting

How to split a file into column with awk?

The following is my code nawk -F',' ' BEGIN { printf "MSISDN,IMSI,NAM,TS11,TS21,TS22,OBO,OBI,BAIC,BAOC,BOIC,BOIEXH,APNID0,APNID1,APNID2,APNID3,APNID0,CSP,RSA\n" } { for(i=1; i<=NF; i++) { split($i,a,":") gsub(" ","", a) printf "%s;",a } printf "\n" }'HLR_DUMP_BZV >> HLR_full This is... (1 Reply)
Discussion started by: gillesi
1 Replies

4. Shell Programming and Scripting

Split file by column value, each with header

Hello all, I have a csv with with different testcase values in column 5. year,min,max,Instrument,Testcase 2016,201,1003,GEOTROPH-02116,TATA7980 2016,53,1011,GEOTROPH-01963,TATA7980 2016,3,1024,GEOTROPH-02067,TATA7980 2016,203,1027,GEOTROPH-02011,TATA7980... (16 Replies)
Discussion started by: senhia83
16 Replies

5. Shell Programming and Scripting

Remove the values from a certain column without deleting the Column name in a .CSV file

(14 Replies)
Discussion started by: dhruuv369
14 Replies

6. Shell Programming and Scripting

Split file depending on Column Value

Hi , my file look likes below , cat file.csv 12/09/2014,50,5,0,300 12/09/2014, ,5,0,300 12/09/2014,50,,,300 i need to split file , the first one contains values (2nd column is 50 , 3rd and fourth column is null ) the second file contains all others firstfile ... (2 Replies)
Discussion started by: ubaisalih
2 Replies

7. UNIX for Dummies Questions & Answers

Split file based on column

i have file1.txt asdas|csada|130310|0423|A1|canberra sdasd|sfdsf|130426|2328|A1|sydney Expected output : on eaceh third and fourth colum, split into each two characters asdas|csada|13|03|10|04|23|A1|canberra sdasd|sfdsf|13|04|26|23|28|A1|sydney (10 Replies)
Discussion started by: radius
10 Replies

8. Shell Programming and Scripting

Split file by column value

Please help me figure out whats wrong with my code, I have to split a file according to values in 3rd thru 6th column, If the 3rd or 4th col values are >0, row goes to 1 file, if 3rd and 5th are >0,row goes to another file...and so on... What is wrong with my code? It doesn't seem to work.... (2 Replies)
Discussion started by: newbie83
2 Replies

9. Shell Programming and Scripting

How to check Null values in a file column by column if columns are Not NULLs

Hi All, I have a table with 10 columns. Some columns(2nd,4th,5th,7th,8th and 10th) are Not Null columns. I'll get a tab-delimited file and want to check col by col and generate seperate error code for each col eg:102 if 2nd col value is NULL and 104 if 4th col value is NULL so on... I am a... (7 Replies)
Discussion started by: Mandab
7 Replies

Featured Tech Videos