parse through one text file and output many


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers parse through one text file and output many
# 8  
Old 02-18-2008
Quote:
Originally Posted by radoulov
Code:
awk '/^Begin/{close(f);f=$2".txt"}f{print>f}' input

Smilie
Thanks, I am very interested in this awk one. May I ask where the $f.txt stored ? same directory as the input file?

Last edited by sophiadun; 02-19-2008 at 06:48 PM..
# 9  
Old 02-19-2008
Quote:
Originally Posted by sophiadun
Smilie
Thanks, I am very interested in this awk one. May I ask where the $f.txt stored ? same directory as the input file?
Yes,
and of course, you can change the destination:

Code:
awk '/^Begin/{close(f);f="/your/path/"$2".txt"}f{print>f}' input

# 10  
Old 02-19-2008
Quote:
Originally Posted by radoulov
Yes,
and of course, you can change the destination:

Code:
awk '/^Begin/{close(f);f="/your/path/"$2".txt"}f{print>f}' input

Thank, it's weird that this one didn't work in my KornShell. I tried to look for the output txt files and found nothing in my specified directory.
# 11  
Old 02-19-2008
Could you post the exact command?
What OS you're using?
# 12  
Old 02-19-2008
My book says the basic syntax for awk is
Quote:
awk '/pattern/ {action}' input_file
I were thinking about this for two days:
What's about the function of the red part (I knew print>f is to print the result to the output file)

Quote:
awk '/^Begin/{close(f);f=$2".txt"}f{print>f}' input
# 13  
Old 02-19-2008
Quote:
Originally Posted by sophiadun
My book says the basic syntax for awk is


I were thinking about this for two days:
What's about the function of the red part (I knew print>f is to print the result to the output file)
So,
first we have:

Code:
f=$2".txt"

So we assign the value of $2 and the string ".txt" (concatenated)
to f. Then:

Code:
f{print>f}

f - is the pattern/expression part
{print>f} - is the action part

If f is true (is not null, is already defined)
redirect the output (the current record in this case)
to a file named "value of $2" + ".txt".

Hope this helps.
# 14  
Old 02-20-2008
Quote:
Originally Posted by radoulov
Could you post the exact command?
What OS you're using?
Here is my code
Code:
awk '/^Begin/{close(f);f="C:/"$2".txt"} f{print>f}' input

I am using MKS Toolkit (KornShell) for Windows XP
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

How to parse this file using awk and output in CSV format?

My source file looks like this: Cust-Number = "101" Cust-Name="Joe" Cust-Town="London" Cust-hobby="tennis" Cust-purchase="200" Cust-Number = "102" Cust-Name="Mary" Cust-Town="Newyork" Cust-hobby="reading" Cust-purchase="125" Now I want to parse this file (leaving out hobby) and... (10 Replies)
Discussion started by: Balav
10 Replies

2. Shell Programming and Scripting

Parse file for fields and specific text

I have a file of ~500,000 entries in the following: file.txt chr1 11868 12227 ENSG00000223972.5 . + HAVANA exon . gene_id "ENSG00000223972.5"; transcript_id "ENST00000456328.2"; gene_type "transcribed_unprocessed_pseudogene"; gene_status "KNOWN"; gene_name "DDX11L1"; transcript_type... (17 Replies)
Discussion started by: cmccabe
17 Replies

3. Shell Programming and Scripting

Parse and Join in a text file

I wanted to parse a text file and join in specific format. please suggest me how to get this done.. The output should be in fasta format which consists of lines starting with ID, PT, PA and Sequence. "//" the two slashes are dividing lines between two different sequences. Like... (10 Replies)
Discussion started by: empyrean
10 Replies

4. Shell Programming and Scripting

Trying to Parse Version Information from Text File

I have a file name version.properties with the following data: major.version=14 minor.version=234 I'm trying to write a grep expression to only put "14" to stdout. The following is not working. grep "major.version=(+)" version.properties What am I doing wrong? (6 Replies)
Discussion started by: obfunkhouser
6 Replies

5. Shell Programming and Scripting

cat file and parse output

Hello, I'm new to shell scripting and did a search on the forum to what I want to do but couldn't find anything. I have about 9 routers that outputs to 1 syslog file daily named cisco.year.mo.date.log ex: cisco.2009.05.11.log My goal is to make a parsing script that cats today's syslog... (2 Replies)
Discussion started by: jjrambar
2 Replies

6. Shell Programming and Scripting

parse csv file, sha1 hash and output

I have a file, not really a csv, but containing delineated data just the same. Lets call that file "raw_data.txt". It contains data in the format of company name:fein number like this: first company name:123456789 second company name:987654321 what i need to do is read this file, apply... (11 Replies)
Discussion started by: FreddyG
11 Replies

7. UNIX for Advanced & Expert Users

How to parse through a file and based on condition form another output file

I have one file say CM.txt which contains values like below.Its just a flat file 1000,A,X 1001,B,Y 1002,B,Z ... .. total around 4 million lines of entries will be in that file. Now i need to write another file CM1.txt which should have 1000,1 1001,2 1002,3 .... ... .. Here i... (6 Replies)
Discussion started by: sivasu.india
6 Replies

8. Shell Programming and Scripting

parse text file

I have a file that has a header followed by 8 columns of data. I want to toss out the header, and then write the data to another file with a different header and footer. I also need to grab the first values of the first and second column to put in the header. How do I chop off the header? ... (9 Replies)
Discussion started by: craggm
9 Replies

9. Shell Programming and Scripting

parse text file

i am attempting to parse a simple text file with multiple lines and four fields in each line, formatted as such: 12/10/2006 12:34:06 77 38 this is what i'm having problems with in my bash script: sed '1,6d' $RAWDATA > $NEWFILE #removes first 6 lines from file, which are... (3 Replies)
Discussion started by: klick81
3 Replies

10. UNIX for Dummies Questions & Answers

Parse Text file and send mails

Please help. I have a text file which looks something like this aaa@abc.com, c:FilePath\Eaaa.txt bbb@abc.com, c:FilePath\Ebbb.txt ccc@abc.com, c:FilePath\Eccc.txt ddd@abc.com, c:FilePath\Eddd.txt...so on I want to write a shell script which will pick up the first field 'aaa@abc.com' and... (12 Replies)
Discussion started by: Amruta Pitkar
12 Replies
Login or Register to Ask a Question