Solved

Splitting a text file into seperate text files.

Posted on 2001-06-26
5
187 Views
Last Modified: 2010-04-21
I get a text file with a long list of filenames that looks like this:

a52372,CH-A-00-00-02-00A-040A-A
a58758,CH-A-00-00-03-00A-012B-A
a58759,CH-A-00-00-03-00A-012B-A
a58760,CH-A-00-00-03-00A-012B-A
a65855,CH-A-06-40-00-00A-010A-A
a58883,CH-A-06-40-01-00A-540A-A
a58884,CH-A-06-40-01-00A-540A-A
a65855,CH-A-06-40-01-00A-540A-A
a62128,CH-A-06-40-01-00A-540A-A
a65817,CH-A-08-40-00-00A-030A-A
a65818,CH-A-08-40-00-00A-030A-A
a53077,CH-A-08-40-00-00A-030A-A

I need to be able to send all the files with CH-A-00 to one file and CH-A-06 to another and CH-A-08 to another and so on. The number in the 13th and 14th position determines what file they need to go. I can't grep those positions because they change and I never know what they're going to be. The letters in front of those postions change to.

Is there a way to cut that number out and save it to a variable then use the variable in a for loop or if statement then goto the next line?

jas
0
Comment
Question by:scuzz1
  • 3
  • 2
5 Comments
 
LVL 8

Accepted Solution

by:
mnashadka earned 100 total points
ID: 6228696
Maybe you could try a ksh script something like this:

#!/bin/ksh

while read line ; do
  print $line
  file=`print $line | awk '{ print substr($0,13,2) }'`
  print $file
  print $line >> $file
 done<file.txt
0
 

Author Comment

by:scuzz1
ID: 6228806
That looks like what I want to do but where do you tell it what file it is reading from?
0
 

Author Comment

by:scuzz1
ID: 6228825
Never mind the last comment. I figured it out. I'm going to try to work in the textfiles I need. I think this will work.
0
 

Author Comment

by:scuzz1
ID: 6228914
Excellent. I was really stuck. I couldn't get the thing to slow down and read the file one line at a time.

Thanks much,

jas
0
 
LVL 8

Expert Comment

by:mnashadka
ID: 6229527
You're welcome.  Just glad I could help.
0

Featured Post

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
llcommand 6 98
Best way to handle awk return value 6 70
Shell script errors 10 141
What are recommended OS for exim mail server? 10 116
Attention: This article will no longer be maintained. If you have any questions, please feel free to mail me. jgh@FreeBSD.org Please see http://www.freebsd.org/doc/en_US.ISO8859-1/articles/freebsd-update-server/ for the updated article. It is avail…
Why Shell Scripting? Shell scripting is a powerful method of accessing UNIX systems and it is very flexible. Shell scripts are required when we want to execute a sequence of commands in Unix flavored operating systems. “Shell” is the command line i…
Learn several ways to interact with files and get file information from the bash shell. ls lists the contents of a directory: Using the -a flag displays hidden files: Using the -l flag formats the output in a long list: The file command gives us mor…
In a previous video, we went over how to export a DynamoDB table into Amazon S3.  In this video, we show how to load the export from S3 into a DynamoDB table.

831 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question