Basically I have a text file that is made up of customer statements. I want to be able to separate the customer statements into their own file. The file is consistant in that the account # (part of the key) is always on line 10 then on every 55th line from there on out so my logic would be like: Read file put 10th line for charcters 1-5 in variable (account #), compare that to line 65 and if the same, read the next key (65 + 55), if they are different then take 10 lines less and write output using key plus date so key would be 90313.txt for Act 9 on March 2013 statement. I know how to use awk to get it to show x line like awk NR==10 example.txt but I need to know the script to keep this ongoing and to output each statement to its own file.
Can you post some highlighted input data for people to consider please. Expected output would be useful along with any code you have tried so far.
Feel free to sanitise the data, of course.
Robin
Liverpool/Blackburn
UK
I don't have anything written, I am not sure how to write awk statement that will read multiple lines and then output to a file. Basically I am reading line 10, characters c1-5 and putting into a variable ($A) to compare to line 65 characters c1-5 ($NA) and if different then I want to write lines 1 to 55 to file using $A plus month year so file would be 90313.txt. If $A matches on line 65 then read line 120 and compare, if different output lines 1 to 110 to file 90313.txt if not read next 175 line and compare...continue on and on until EOF.
You aren't using CODE tags (which are required when posting code and data to this forum), so we can't identify the lines and characters you're talking about.
You still haven't highlighted the 5 characters on line 10 that you want to compare to line 65 even though this was requested 4 days ago.
Line 10 in all of your input samples appears to be an empty line following the address line:
Code:
ACME PA 15610-1084
If we can't match your description of what you're trying to do to the input you're giving us to work with; we can't help.
This User Gave Thanks to Don Cragun For This Post:
This is a sample of the file with line numbers assigned for easier reading, acct number is on line 10 for the first statement in positions 1 thru 5 then the account # appears on every 55th line after the first account. Each statement is 55 lines long. The goal is to read each statement and write to a separate file for each new statement using the account number as part of the key to the file, the first statement in the example below would be 90313.txt, 2nd statement would be 1000313.txt and so on. I am a newbie at posting so sorry for the first posts...thanks for the assistances!
This is a sample of the file with line numbers assigned for easier reading, acct number is on line 10 for the first statement in positions 1 thru 5 then the account # appears on every 55th line after the first account. Each statement is 55 lines long. The goal is to read each statement and write to a separate file for each new statement using the account number as part of the key to the file, the first statement in the example below would be 90313.txt, 2nd statement would be 1000313.txt and so on. I am a newbie at posting so sorry for the first posts...thanks for the assistances!
This is a major step in the right direction, but the output file names still have not been specified. Do you really want leading spaces on the output file names when customer numbers are less than five digits? It is easy to put them in (as requested), but it will make handling these files harder for you. Would you prefer to have leading zeroes added so the filename always starts with a 5 digit customer number?
Where do the last 4 digits of the output file names come from? They don't come from the dates on lines 8, 18, or 19 in your 55 line statements. Are they always supposed to be 0313? Are they supposed to be the two digit month and two digit year corresponding to the date when the script is run?
Are the multiple occurrences of the strings "^L" and "^M" in you input file literal characters that you want kept in the output files? Are they a graphic representation of form feed and carriage return characters that you want kept in the output files? Or, are they a graphic representation of form feed and carriage return characters that you want to be stripped from the output?
If there are multiple statements for a given customer number, are they always adjacent records in the input file?
What shell do you want to use and what operating system are you using?
This User Gave Thanks to Don Cragun For This Post:
hi all,
trying this using shell/bash with sed/awk/grep
I have two files, one containing one column, the other containing multiple columns (comma delimited).
file1.txt
abc12345
def12345
ghi54321
...
file2.txt
abc1,text1,texta
abc,text2,textb
def123,text3,textc
gh,text4,textd... (6 Replies)
In the awk below I am trying to cp and paste each matching line in f2 to $3 in f1 if $2 of f1 is in the line in f2 somewhere. There will always be a match (usually more then 1) and my actual data is much larger (several hundreds of lines) in both f1 and f2. When the line in f2 is pasted to $3 in... (4 Replies)
Hello,
Some time ago a helpful awk file was provided on the forum which I give below:
NR==FNR{A=$0;next}{for(j in A){split(A,P,"=");for(i=1;i<=NF;i++){if($i==P){$i=P}}}}1
While it works beautifully on English and Latin characters i.e. within the ASCII range of 127, the moment a character beyond... (6 Replies)
Hi ,
I have a simple text file with contents as below:
12345678900 971,76 4234560890
22345678900 5971,72 5234560990
32345678900 71,12 6234560190
the new csv-file should be like:
Column1;Column2;Column3;Column4;Column5
123456;78900;971,76;423456;0890... (9 Replies)
Looking for some help on using awk and cut
I have a text file that has fixed information and want to write a script that will prompt the user for an account to search for and pint the output
The sample line that has the key information looks like this:
Statement to: ... (5 Replies)
Hello friends!
Help me pls to write correct awk and grep statements for my task:
I have got files with name filename.txt
It has such structure:
Start of file
FROM: address@domen.com (12...890) abc
DATE: 11/23/2009 on Std
SUBJECT: any subject
End of file
So, I must check,
if this file... (4 Replies)
I am definitely not an expert with awk, and I want to reformat a text file like the following. This is probably a very easy one for an expert out there. I would like to keep the lines in the same order, but move the heading to only be listed once above the lines.
This is what the text file... (7 Replies)
I have a text file which represent a http packet:
header1
haeder2
.....
.....
headern
payload
I need to count bytes in the payload. How can I get it using awk?
Thanks in advance
Andrea Musella (2 Replies)