subsetting data


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers subsetting data
# 15  
Old 09-01-2008
You're missing the field separator(typo?).
You can get what you want using the style above with one command:

Code:
awk -F'\t' '{
  if ($4 == "")
    print > FILENAME "_no"
  else
    print > FILENAME "_yes"
    }' filename

No particular semantic differences, but more typing Smilie
# 16  
Old 09-01-2008
awk -F'\t' '{
if ($4 == "")
print > FILENAME "_no"
else
print > FILENAME "_yes"
}' filename

in the above code, is FILENAME the output and filename the input?
# 17  
Old 09-01-2008
FILENAME is a special awk variable containing the name of the file currently being processed, i.e. "filename". So the output files will be "filename_no" and "filename_yes".
# 18  
Old 09-01-2008
I got an error:

$ awk -F'\t' '{
> if ($4 == "")
> print > FILENAME "_no"
> else
> print > FILENAME "_yes"
> }' liver
awk: syntax error at source line 3
context is
print > FILENAME >>> "_no" <<<
awk: illegal statement at source line 3
awk: syntax error at source line 5
# 19  
Old 09-02-2008
Try this slight adjustment:

Code:
awk -F'\t' '
  {
    nofile=FILENAME "_no"
    yesfile=FILENAME "_yes"
    if ($4 == "")
      print > nofile
    else
      print > yesfile
  }
' filename

# 20  
Old 09-02-2008
Quote:
Originally Posted by jdhahbi
I got an error:

$ awk -F'\t' '{
> if ($4 == "")
> print > FILENAME "_no"
> else
> print > FILENAME "_yes"
> }' liver
awk: syntax error at source line 3
context is
print > FILENAME >>> "_no" <<<
awk: illegal statement at source line 3
awk: syntax error at source line 5
Yep, sorry.
This should work with your awk implementation:

Code:
awk -F'\t' '{
  if ($4 == "")
    print > (FILENAME "_no")
  else
    print > (FILENAME "_yes")
    }' file

 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

awk --> math-operation in data-record and joining with second file data

Hi! I have a pretty complex job - at least for me! i have two csv-files with meassurement-data: fileA ...... (2 Replies)
Discussion started by: IMPe
2 Replies

2. Shell Programming and Scripting

Parsing XML (and insert data) then output data (bash / Solaris)

Hi folks I have a script I wrote that basically parses a bunch of config and xml files works out were to add in the new content then spits out the data into a new file. It all works - apart from the xml and config file format in the new file with XML files the original XML (that ends up in... (2 Replies)
Discussion started by: dfinch
2 Replies

3. Shell Programming and Scripting

Generate tabular data based on a column value from an existing data file

Hi, I have a data file with : 01/28/2012,1,1,98995 01/28/2012,1,2,7195 01/29/2012,1,1,98995 01/29/2012,1,2,7195 01/30/2012,1,1,98896 01/30/2012,1,2,7083 01/31/2012,1,1,98896 01/31/2012,1,2,7083 02/01/2012,1,1,98896 02/01/2012,1,2,7083 02/02/2012,1,1,98899 02/02/2012,1,2,7083 I... (1 Reply)
Discussion started by: himanish
1 Replies

4. Shell Programming and Scripting

Converting variable space width data into CSV data in bash

Hi All, I was wondering how I can convert each line in an input file where fields are separated by variable width spaces into a CSV file. Below is the scenario what I am looking for. My Input data in inputfile.txt 19 15657 15685 Sr2dReader 107.88 105.51... (4 Replies)
Discussion started by: vharsha
4 Replies

5. UNIX for Dummies Questions & Answers

How to get data only inside polygon created by points which is part of whole data from file?

hiii, Help me out..i have a huge set of data stored in a file.This file has has 2 columns which is latitude & longitude of a region. Now i have a program which asks for the number of points & based on this number it asks the user to enter that latitude & longitude values which are in the same... (7 Replies)
Discussion started by: reva
7 Replies

6. UNIX for Dummies Questions & Answers

subsetting data

Hi can you please show me how to subset data from a file? file1 looks like this: >chr1 strand:+ excise_beg:554293 excise_end:554402 TAATATATTAGATTTGACCTTCAGCAAGGTCAAAGGGAGTCCGAACTAGTCT >chr2 strand:+ excise_beg:554542 excise_end:554651 ACAGCATACCCCCGATTCCGCTACGACCAACTCATACACCTCCTATGAAAAAA... (17 Replies)
Discussion started by: jdhahbi
17 Replies

7. Shell Programming and Scripting

Extract data based on match against one column data from a long list data

My input file: data_5 Ali 422 2.00E-45 102/253 140/253 24 data_3 Abu 202 60.00E-45 12/23 140/23 28 data_1 Ahmad 256 7.00E-45 120/235 140/235 22 data_4 Aman 365 8.00E-45 15/65 140/65 20 data_10 Jones 869 9.00E-45 65/253 140/253 18... (12 Replies)
Discussion started by: patrick87
12 Replies

8. Shell Programming and Scripting

subsetting lines with grep

Hi my file has two columns: GAII_4:6:100:548:645/1 GTACACAACCCCCCCCCCCCACCCCACCCCCCCCCCCCCC GAII_4:6:100:1:1242/1 AGTCTGCCCCTCCCCCTNNNNNNNTCTTTTNCCTCCTCCT GAII_4:6:100:444:504/1 GTAACACACACCCTGATACTCCCCCCTCCACAACCGCTCT I want to subset the lines that start with GT in the second column... (5 Replies)
Discussion started by: jdhahbi
5 Replies

9. Shell Programming and Scripting

how to verify that copied data to remote system is identical with local data.

I have created simple shell script #!/bin/sh echo `date`; echo "Start .... find . -mtime +95 -print > /tmp/files.txt for file in `cat /tmp/files.txt` do echo "copying file - $file" /usr/local/bin/scp -p -P 2222 $file remote.hostname:/file/path echo "copid file -... (3 Replies)
Discussion started by: ynilesh
3 Replies

10. UNIX for Dummies Questions & Answers

Howto capture data from rs232port andpull data into oracle database-9i automatically

Hi, i willbe very much grateful to u if u help me out.. if i simply connect pbx machine to printer by serial port RS232 then we find this view: But i want to capture this data into database automatically when the pbx is running.The table in database will contain similar to this view inthe... (1 Reply)
Discussion started by: boss
1 Replies
Login or Register to Ask a Question