Text file parsing and comparison


 
Thread Tools Search this Thread
Top Forums UNIX for Beginners Questions & Answers Text file parsing and comparison
# 8  
Old 09-13-2018
Thanks @bakunin for the detailed explanation regarding join. I also realized that my original question wasn't clear and I didn't really need to compare the files or capture the data in an array. I was able to do a simple "join" after sorting. As I was in a hurry I ended up posting a query that was poorly worded. Anyway just for clarification here is my first file (sorted by the first field):

Code:
ant	Insecta	
cat	mammal
Elephant	mammal	
lizard	reptile

Here is my second file sorted by the first field:

Code:
ant	termite
ant	army_ant
human	man
human	woman

I can join this by the (default) first field as follows:

Code:
join first.txt second.txt

Code:
ant Insecta termite
ant Insecta army_ant

Clearly in my original post, I also erred in my expectation for the “third file” where I erroneously included human man mammal. This was first pointed out by @vgersh99. Thanks!
# 9  
Old 09-13-2018
Quote:
Originally Posted by cs_novice
To clarify, the third.txt file is what I expect as output and I just put that out for illustration purposes. Reg my attempts: I tried capturing the the data in the first file data in an awk associative array, but then I am unable to think of the right conditional statement to print the corresponding entries from the first file as the third column in the second file.
If you don't want to sort your input files (as required by join), please show us what you tried with awk (so we can see how close you were able to get to your goal). Maybe we can help you fix your awk code to get the output you want.
# 10  
Old 09-13-2018
Quote:
Originally Posted by Don Cragun
If you don't want to sort your input files (as required by join), please show us what you tried with awk (so we can see how close you were able to get to your goal). Maybe we can help you fix your awk code to get the output you want.
Don, @vgersh99 gave me a hint in a PM and using that I think, I have got the output I desired using the following awk code:

awk 'FNR==NR{f1[$1]=$2;next} $1 in f1 {print $0,f1[$1]}' first.txt second.txt

Code:
ant	termite Insecta
ant	army_ant Insecta

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Parsing text file

Hi Friends, I am back for the second round today - :D My input text file is this way Home friends friendship meter Tools Mirrors Downloads My Data About Us Help My own results BLAT Search Results ACTIONS QUERY SCORE START END QSIZE IDENTITY CHRO STRAND ... (7 Replies)
Discussion started by: jacobs.smith
7 Replies

2. Shell Programming and Scripting

Parsing text file

I'm totally stumped with how to handle this huge text file I'm trying to deal with. I really need some help! Here is what is looks like: ab1ba67c331a3d731396322fad8dd71a3b627f89359827697645c806091c40b9 0.2 812a3c3684310045f1cb3157bf5eebc4379804e98c82b56f3944564e7bf5dab5 0.6 0.6... (3 Replies)
Discussion started by: comp8765
3 Replies

3. Shell Programming and Scripting

text file comparison

Hi All, I would like to write script which will compare two text files, however the order of the content in the files might change, for eg, File 1 File 2 ------- -------- ABC ABC DEF GHI GHI ... (3 Replies)
Discussion started by: Sub.kalps
3 Replies

4. Programming

Parsing a Text file using C++

I was trying to parse the text file, which will looks like this ###XYZABC#### ############ int = 4 char = 1 float = 1 . . ############ like this my text file will contains lots of entries and I need to store these entries in the map eg. map.first = int and map.second = 4 same way I... (5 Replies)
Discussion started by: agupta2
5 Replies

5. Shell Programming and Scripting

Need help parsing a text file

I have a text file: router1#sh ip blah blah | incl --- Gi2/8 10.60.4.181 --- 10.60.123.175 11 0000 0000 355K Gi2/8 10.60.83.28 --- 224.10.10.26 11 F9FF 3840 154K Gi2/8 10.60.83.198 --- ... (1 Reply)
Discussion started by: streetfighter2
1 Replies

6. Shell Programming and Scripting

Log file text parsing

I'm new to scripting and was wondering if there was a way to accomplish what I want below using shell script(s). If there is a log file as follows, where the id is the unique id of a process, with the timestamp of when the process began and completed displayed, would it be possible to find the... (3 Replies)
Discussion started by: dizydolly
3 Replies

7. Shell Programming and Scripting

Complicated(?) text file comparison

I've got two files, both plain text. Each file is a datafeed of products, pipe delimited. The current file is in directory 1 and yesterday's file is in directory 2 (literally, those are the directory names). What I'm trying to do is compare the files and pull out products whose price has changed... (3 Replies)
Discussion started by: Daniel M. Clark
3 Replies

8. Shell Programming and Scripting

Parsing text from file

Any ideas? 1)loop through text file 2)extract everything between SOL and EOL 3)output files, for example: 123.txt and 124.txt for the file below So far I have: sed -n "/SOL/,/EOL/{p;/EOL/q;}" file Here is an example of my text file. SOL-123.go something goes here something goes... (0 Replies)
Discussion started by: ndnkyd
0 Replies

9. Shell Programming and Scripting

Text File Parsing

Hey Guys.I am a newbie on Bash Shell Scripting and Perl.And I have a question about file parsing. I have a log file which contains reports about a communication device.I need to take some of the reports from the log file.Its hard to explain the issue.but shortly I can say that, the reports has a... (2 Replies)
Discussion started by: Djlethal
2 Replies

10. HP-UX

XML parsing performace comparison with windows using sax

sorry wrong forum..i dont know how to delete this or how to move it to HP UX section... I tested SAX XML parsing using xerces(http://xerces.apache.org/xerces-j/). I tested on Windows XP and HP-UX . I found that parsing time on HP is 5 times that on Windows. My server startup reads a lot of XML... (1 Reply)
Discussion started by: saurabh.sid
1 Replies
Login or Register to Ask a Question