Comparing column of variable length anf fixed width file


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Comparing column of variable length anf fixed width file
# 1  
Old 06-24-2008
Comparing column of variable length anf fixed width file

Hi, I have two input files.

File1:

ID Name Place
1-234~name1~Newyork
1-34~name2~Boston
1-2345~name3~Hungary

File1 is a variable length file where each column is seperated by delimitter "~".

File2:

ID Country
1-34<<11 SPACES>>USA<<7 spaces>>
1-234<<10 SPACES>>UK<<8 spaces>>

File2 is a fixed length file where Id is of 15 characters length and Country is of 10 characters length.

I need an output file such that based on ID file1 and file2 should be compared and Place column in file1 should be replaced by country column.

Output File:

ID Name Country
1-234~name1~UK
1-34~name2~USA

Thanks in advance.
# 2  
Old 06-24-2008
Code:
awk 'NR==FNR{a[$1]=$2;next}a[$1]{print $1, $2, a[$1]}' File2 File1

Regards
# 3  
Old 06-24-2008
Quote:
Originally Posted by Franklin52
Code:
awk 'NR==FNR{a[$1]=$2;next}a[$1]{print $1, $2, a[$1]}' File2 File1

Regards
Thanks for the reply. I have tried this but when Iam trying to use awk its not working .... but nawk works instead. Is there any alternative thing where I can write a shell scripting to replace Place column of variable length file with Country column of fixed length file. Thanks in advance.
# 4  
Old 06-24-2008
To print the 3th field in a fixed column of 20 characters you can use printf instead of print:

Code:
printf("%s % s%20s\n", $1, $2, a[$1)

Regards
# 5  
Old 06-24-2008
Thanks franklin for that reply. But I heard that we can do a validation on the delimiter "~" and can divide the record using SUBSTR command and can replace the column by another column of another file . Is it possible ? Thanks in advance.
# 6  
Old 06-25-2008
Need Help

I have tried using awk and nawk but I could not able to get it. Please let me know how to get out of this issue...
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Print column details from fixed width file using awk command

hi, i have a fixed width file with multiple columns and need to print data using awk command. i use: awk -F "|" '($5 == BH) {print $1,$2,$3}' <non_AIM target>.txt for a delimiter file. but now i have a fixed width file like below: 7518 8269511BH 20141224951050N8262 11148 8269511BH... (5 Replies)
Discussion started by: kcdg859
5 Replies

2. Shell Programming and Scripting

To replace the value of the column in a fixed width file

I have a fixed with file with header & trailer length having the same length of the detail record file. The details record length of this file is 24, for Header and Trailer the records will be padded with spaces to match the record length of the file Currently I am adding 3 spaces in header... (14 Replies)
Discussion started by: ginrkf
14 Replies

3. UNIX for Dummies Questions & Answers

Length of a fixed width file

I have a fixed width file of length 53. when is try to get the lengh of the record of that file i get 2 different answers. awk '{print length;exit}' <File_name> The above code gives me length 50. wc -L <File_name> The above code gives me length 53. Please clarify on... (2 Replies)
Discussion started by: Amrutha24
2 Replies

4. Shell Programming and Scripting

Comparing two fixed width file

Hi Guys I am checking the treads to get the answer but i am not able to get the answer for my question. I have two files. First file is a pattern file and the second file is the file i want to search in it. Output will be the lines from file2. File1: P2797f12af 44751228... (10 Replies)
Discussion started by: anshul_er
10 Replies

5. Shell Programming and Scripting

How to split a fixed width text file into several ones based on a column value?

Hi, I have a fixed width text file without any header row. One of the columns contains a date in YYYYMMDD format. If the original file contains 3 dates, I want my shell script to split the file into 3 small files with data for each date. I am a newbie and need help doing this. (14 Replies)
Discussion started by: bhanja_trinanja
14 Replies

6. UNIX for Dummies Questions & Answers

Remove duplicates based on a column in fixed width file

Hi, How to output the duplicate record to another file. We say the record is duplicate based on a column whose position is from 2 and its length is 11 characters. The file is a fixed width file. ex of Record: DTYU12333567opert tjhi kkklTRG9012 The data in bold is the key on which... (1 Reply)
Discussion started by: Qwerty123
1 Replies

7. Shell Programming and Scripting

Changing one column of delimited file column to fixed width column

Hi, Iam new to unix. I have one input file . Input file : ID1~Name1~Place1 ID2~Name2~Place2 ID3~Name3~Place3 I need output such that only first column should change to fixed width column of 15 characters of length. Output File: ID1<<12 spaces>>Name1~Place1 ID2<<12... (5 Replies)
Discussion started by: manneni prakash
5 Replies

8. UNIX for Dummies Questions & Answers

Convert a tab delimited/variable length file to fixed length file

Hi, all. I need to convert a file tab delimited/variable length file in AIX to a fixed lenght file delimited by spaces. This is the input file: 10200002<tab>US$ COM<tab>16/12/2008<tab>2,3775<tab>2,3783 19300978<tab>EURO<tab>16/12/2008<tab>3,28523<tab>3,28657 And this is the expected... (2 Replies)
Discussion started by: Everton_Silveir
2 Replies

9. Shell Programming and Scripting

Combining Two fixed width columns to a variable length file

Hi, I have two files. File1: File1 contains two fixed width columns ID of 15 characters length and Name is of 100 characters length. ID Name 1-43<<11 spaces>>Swapna<<94 spaces>> 1-234<<10 spaces>>Mani<<96 spaces>> 1-3456<<9 spaces>>Kapil<<95 spaces>> File2: ... (4 Replies)
Discussion started by: manneni prakash
4 Replies
Login or Register to Ask a Question