Grabing Date from filename and adding to the end of each line in the file.


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Grabing Date from filename and adding to the end of each line in the file.
# 1  
Old 05-01-2007
Grabing Date from filename and adding to the end of each line in the file.

Hi,

I have 24 .dat files something like below. The file name starts with “abc” followed by two digit month and two digit year. Is there a way to grab the month and year from each filename and append it to the end of each line. Once this is done I want to combine all the files into file Master.dat file.
All files are fixed width

abc0103.dat
abc0203.dat
..........................and so on................
abc1203.dat
abc0104.dat
............................and so on till........
abc1204.dat

All files are fixed width and the layout is as below

Field1.... HNUM CHARACTER 1 to 10
Field2.... AKEY CHARACTER 11 to 20
Field3.... BNC CHARACTER 21 to 23
Field4.... AMOUNT NUMERIC 24 to 28
Field5.... BUSS CHARACTER 29 to 29

I want to grab the month and year from each filename and append at the end of each line to the respective files. and create a master.dat file.

I will appreciate any help on this.

Thanks
Raj

Last edited by reborg; 05-01-2007 at 08:50 PM.. Reason: please do not shout in the forums --reborg
rkumar28
# 2  
Old 05-01-2007
Quote:
Originally Posted by rkumar28
Hi,

I have 24 .dat files something like below. The file name starts with “abc” followed by two digit month and two digit year. Is there a way to grab the month and year from each filename and append it to the end of each line. Once this is done I want to combine all the files into file Master.dat file.
All files are fixed width

abc0103.dat
abc0203.dat
..........................and so on................
abc1203.dat
abc0104.dat
............................and so on till........
abc1204.dat

All files are fixed width and the layout is as below

Field1.... HNUM CHARACTER 1 to 10
Field2.... AKEY CHARACTER 11 to 20
Field3.... BNC CHARACTER 21 to 23
Field4.... AMOUNT NUMERIC 24 to 28
Field5.... BUSS CHARACTER 29 to 29

I want to grab the month and year from each filename and append at the end of each line to the respective files. and create a master.dat file.

This assumes that the only numbers in the filename are the [malformed] date that you want to extract. If that is not the case, change the gsub line to suit the criteria required to extract the date.

Code:
awk '{
  date = FILENAME
  gsub( /[^0-9]/,"",date )
  print $0, date > "master.dat"
}' *.dat

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Help on Adding one counter loop at the end of each line in a file

Hello All, I have file a.txt I want to add a counter loop at the end of each line in a file ill explain: i have a site h**p://test.test=Elite#1 i want to add a a counter to the number at the end of the file, that it will be like this urlLink//test.test=Elite#1 urlLink//test.test=Elite#2... (3 Replies)
Discussion started by: nexsus
3 Replies

2. Shell Programming and Scripting

Adding text to the end of the specific line in a file(only to the first occurrence of it)

Hi, I want to add a text to the end of the specific line in a file. Now my file looks like this: 999 111 222 333 111 444 I want to add the string " 555" to the end of the first line contaning 111. Moreover, I want to insert a newline after this line containg the "000" string. The... (8 Replies)
Discussion started by: wenclu
8 Replies

3. Shell Programming and Scripting

Adding tab/new line at the end of each line of a file

Hello Everyone, I need a help from experts of this community regarding one of the issue that I am facing with shell scripting. My requirement is to append char's at the end of each line of a file. The char that will be appended is variable and will be passed through command line. The... (20 Replies)
Discussion started by: Sourav Das
20 Replies

4. Shell Programming and Scripting

adding line number to *end* of records in file

Given a file like this: abc def ghi I need to get to somestandardtext abc1 morestandardtext somestandardtext def2 morestandardtext somestandardtext ghi3 morestandardtext Notice that in addition to the standard text there is the line number added in as well. What I conceived is... (4 Replies)
Discussion started by: edstevens
4 Replies

5. Shell Programming and Scripting

help with sed adding line to end of file

sed '$a\ hello' books hi i am trying to use sed to append hello to the end of the file books, but for some reason i can't get it work. It keeps sayin command garbled. Anyone know what I'm doing wrong. this is in a ksh script as well. (3 Replies)
Discussion started by: bjhum33
3 Replies

6. Shell Programming and Scripting

Adding filename to each line of the file

Hi, I am a relative new bee in scripting. I need to develop a script such that the code would iterate through each file in a source directory and append every line of the file with '|' and the corresponding file filename. eg INPUT file IF927_1.dat - H|abc... (4 Replies)
Discussion started by: scripting_newbe
4 Replies

7. Shell Programming and Scripting

Adding multiple line at the end of the file

I have 2 files which contains the following lines file1.txt line4 line5 line6 file2.txt line1 line2 line3 When i execute a script , I want my file2.txt will looks like this: line1 line2 line3 line4 line5 (2 Replies)
Discussion started by: kaibiganmi
2 Replies

8. Shell Programming and Scripting

Adding new line at the end of file

Hi I have few files. For some files the cursor is at the end of last line. For other files, cursor is at the new line at the end. I want to bring the cursor down to next line for the files that are having cursor at the end of last line In otherwords, I want to introduce a blank line at the... (5 Replies)
Discussion started by: somesh_p
5 Replies

9. Shell Programming and Scripting

How to add filename to the end of each line in file

Hi, I'm reading data from comma separated files to DB. Now there is a need to have the name of the input file in each row of that file. How can I do this in unix script? Example: $cat file1 value11,value12, value,13 value21,value22, value,23 value31,value32, value,33 And the result... (2 Replies)
Discussion started by: tmikahan
2 Replies

10. Shell Programming and Scripting

adding text to end of each line in a file

I'm needing to add a "hour:min" to the end of each line in a document. The document in this case is only going to be one line. if this inserts it at the end, what needs to be changed to add something at the end... /bin/echo "%s/^/$filler/g\nwq!" | ex -s $oFile Thank you... (2 Replies)
Discussion started by: cubs0729
2 Replies
Login or Register to Ask a Question