How join works and the specific parameters to my problem?

 
Thread Tools Search this Thread
Homework and Emergencies Homework & Coursework Questions How join works and the specific parameters to my problem?
# 8  
Old 04-14-2010
Yes, I pretty much did a copy/paste, modify the file names, gave it an output. Your solution is similar to what I included in #3 of my original post, only I tried to include all the fields just to see if anyone of them would output.

I should point out that it just outputs the field separators from the second file as my first posts shows.
# 9  
Old 04-14-2010
Sorry to be a pedant, but what command did you type?
All four of the sample commands posted contain logic errors, syntax errors, or typing errors? Space characters are very important in this type of command line.
These were the command lines posted: The first two are identical and have no space character after "-o". The third omits the "-o" switch. The fourth is not really relevant.
Quote:
join -t"|" -o'1.1 1.2 1.3 2.1 2.3' Courses.txt Grades.txt > Merged.txt
join -t"|" -o'1.1 1.2 1.3 2.1 2.3' Courses.txt Grades.txt > Merged.txt
join -t"|" -1 1 -2 1 Courses.txt Grades.txt > Merged.txt
join -t"|" -a1 Courses.txt Grades.txt > Merged.txt

Please post the exact command typed and run it on the sample data posted and then post the output (all within code tags).

On the off-chance .... have any of the data files been copied from a Microsoft Operating System?
# 10  
Old 04-14-2010
Quote:
Originally Posted by methyl
All four of the sample commands posted contain logic errors, syntax errors, or typing errors?
Are you asking is there any error output? I've done that with a 2>error.txt, and it was blank. I don't think there's any logic, syntax or typing error as I've followed the book (Tansley) and examples I've found online explaining join.
Quote:
On the off-chance .... have any of the data files been copied from a Microsoft Operating System?
The original data files were Excel files that the campus generated. We converted the files to CSV before extracting the information. So I only know as far as downloading the file?

So this is what I've done. Course2.txt and Grades2.txt have the 4 sample entries posted.

Quote:
10015|GEOL |158|NATURAL DISASTERS|Rezaie Boroon Mohammad Hassan|
10016|GEOL |158|NATURAL DISASTERS|Hamane Angelique C.|
10020|ART | 101A |WORLD ART|Anderson Paul A|
10021|ART | 101B |WORLD ART|Aguilar-Moreno Jose Manuel|
Quote:
10015|GEOL|158|1.64|2|2|1|7|2|11|26|9|17|12|5|13|||1|
10016|GEOL|158|1.93|13||3|19||3|40|1||9||22|||1|2
10020|ART|101A|1.19|8|5|1|16|7|7|11|8|3|13|6|77||||13
10021|ART|101B|2.59|38|19|15|17|9|8|16|4|4|9|5|12||||3
Code:
join -t"|" -o 1.1 1.2 1.3 1.4 1.5 2.4 ~/Lab1/Courses2.txt ~/Lab1/Grades2.txt > Merged.txt

more Merged.txt

Nothing.
Code:
join -t"|" -o'1.1 1.2 1.3 1.4 1.5 2.4' ~/Lab1/Courses2.txt  ~/Lab1/Grades2.txt > Merged.txt

more Merged.txt

Nothing.
Code:
join -t"|" -o '1.1 1.2 1.3 1.4 1.5 2.4'  ~/Lab1/Courses2.txt  ~/Lab1/Grades2.txt > Merged.txt

more Merged.txt

Nothing.

If it works for you guys, I am stumped.
# 11  
Old 04-15-2010
Working totally from your post and copying the data and the first command, mine gives output:

Code:
10015|GEOL |158|NATURAL DISASTERS|Rezaie Boroon Mohammad Hassan|1.64
10016|GEOL |158|NATURAL DISASTERS|Hamane Angelique C.|1.93
10020|ART | 101A |WORLD ART|Anderson Paul A|1.19
10021|ART | 101B |WORLD ART|Aguilar-Moreno Jose Manuel|2.59


I guess we need to know what Operating System and Shell and also version of join.

Code:
My "join" is this (According to the "what" command):

what /usr/bin/join

/usr/bin/join:
         $Revision: B.11.11_LR
         Fri Oct 27 00:58:04 PDT 2000 $



---------- Post updated at 11:36 ---------- Previous update was at 11:22 ----------

Quote:
The original data files were Excel files that the campus generated. We converted the files to CSV before extracting the information. So I only know as far as downloading the file?
We need to check the format of the data files. This "sed" just shows funny characters and record terminators. A normal unix text file will be terminated with a "newline" character which is displayed as "$" in this example.

Code:
sed -n l Courses2.txt

10015|GEOL |158|NATURAL DISASTERS|Rezaie Boroon Mohammad Hassan|$
10016|GEOL |158|NATURAL DISASTERS|Hamane Angelique C.|$
10020|ART | 101A |WORLD ART|Anderson Paul A|$
10021|ART | 101B |WORLD ART|Aguilar-Moreno Jose Manuel| $

If I deliberately make the file incorrect by converting it to Microsoft text format it will look like this. This may be enough to upset your "join" but mine still works.

Code:
sed -n l Courses2.txt

10015|GEOL |158|NATURAL DISASTERS|Rezaie Boroon Mohammad Hassan|\r$
10016|GEOL |158|NATURAL DISASTERS|Hamane Angelique C.|\r$
10020|ART | 101A |WORLD ART|Anderson Paul A|\r$
10021|ART | 101B |WORLD ART|Aguilar-Moreno Jose Manuel| \r$


Last edited by zaxxon; 04-15-2010 at 08:03 AM.. Reason: code tags, ty
# 12  
Old 04-15-2010
I am using SSH Secure Shell 3.2.9 (Build 283). Campus operates on XP, I have both Vista and 7. My first attempts were at school (uploading, extracting, attempting to join). When that failed, I tried again at home (reupload, etc.)

If it will help, the original files are these:
Enrollment Excel file
Grade Excel File

Again, I only know as far as downloading the file. I did, however, remove column headings from both files and the sum totals from the bottom of the Enrollment file before saving the Excel file as a CSV (comma delimited).
Code:
sed -n l ~/Lab1/Courses2.txt

10015\r|GEOL    |158|NATURAL DISASTERS|Rezaie Boroon Mohammad Hassan|$
10016\r|GEOL    |158|NATURAL DISASTERS|Hamane Angelique C.|$
10020\r|ART     | 101A     |WORLD ART|Anderson Paul A|$
10021\r|ART     | 101B     |WORLD ART|Aguilar-Moreno Jose Manuel|$

Hmm, looks like it's attached to the Catalog column (the catalog column was originally the last column of the Enrollment CSV file).

I've used tr -d "\r" to remove it (that part worked) but now I noticed (via sed) there's also a \ within the Catalog number of some of the entries. Is this a line break in SSH? Either way, it's still not working.

EDIT: Nevermind, was cramming too much stuff into one command line (copying a copy of file, etc.). Looks like it worked.

Thanks y'all.

Last edited by Lechnology; 04-16-2010 at 12:41 AM.. Reason: Found solution
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Red Hat

How to join Linux pc to active directory in specific ou with authconfig?

I use authconfig command to join linux computers to AD How do I specify which OU they go in? I llook at authconfig --help but not see antyhing\ Can I use --ldapbasedn=<dn> to select what OU it should go iN (0 Replies)
Discussion started by: red888
0 Replies

2. Shell Programming and Scripting

Replacing whole string starting with specific works

Hi guys, So what I am trying to accomplish is to replace a whole string starting with some designated string. eg: When even I find a string starting with : eai.endpoint.url= replace the entire line with: eai.endpoint.url=http://www.endpoint.com/API Righ now I am trying to... (4 Replies)
Discussion started by: Junaid Subhani
4 Replies

3. Solaris

How to Limit ftp access parameters for specific users?

Dear friends, :) I create new user useradd -g other -d /export/home/sltftp -m -s /bin/bash -c "SLT user account for TMA ftp backup" sltftp now i need do restrict thees chmod delete overwrite rename from this user:(for all the files in the server ,sltftp user can only able to download... (4 Replies)
Discussion started by: darakas
4 Replies

4. UNIX for Dummies Questions & Answers

Join Lines at a specific point

Hi I'm a beginner, and i've been having trouble joining two lines. I need to convert this file 1097ALABAMA Mobile County METHOMYL INSE CTICIDES 6 1.6200000E+00 1.8000001E+00 1003ALABAMA Baldwin County ... (5 Replies)
Discussion started by: kf_1434
5 Replies

5. Shell Programming and Scripting

how to retrieve specific parameters using a xml tag

Hi, I have the following code in my xml file: <aaaRule loginIdPattern=".*" orgIdPattern=".*" deny="false" /> <aaaRuleGroup name="dpaas"> <aaaRule loginIdPattern=".*" orgIdPattern=".*" deny="false" /> I want to retrieve orgIdPattern and loginIdPattern parameter value based on... (2 Replies)
Discussion started by: mjavalkar
2 Replies

6. UNIX for Dummies Questions & Answers

how to join two files using "Join" command with one common field in this problem?

file1: Toronto:12439755:1076359:July 1, 1867:6 Quebec City:7560592:1542056:July 1, 1867:5 Halifax:938134:55284:July 1, 1867:4 Fredericton:751400:72908:July 1, 1867:3 Winnipeg:1170300:647797:July 15, 1870:7 Victoria:4168123:944735:July 20, 1871:10 Charlottetown:137900:5660:July 1, 1873:2... (2 Replies)
Discussion started by: mindfreak
2 Replies

7. UNIX for Dummies Questions & Answers

problem with join

So I want to join two files that have a lot of rows The file named gen1 has 2 columns: head gen1 1008567 0.4026931012 1119535 0.7088912314 1120590 0.7093805634 1145994 0.7287952590 1148140 0.7313924434 1155173 0.7359550430 1188481 0.7598914553 1201155 0.7663406553 1206921... (2 Replies)
Discussion started by: peanuts48
2 Replies

8. Programming

Problem with Pipes => Only works first pipe

Hi! I'm having problems with pipes... I need comunnications with childs processes and parents, but only one child can comunnicate with parent (first child), others childs can't. A brief of code: if(pipe(client1r)<0){ perror("pipe"); } ... (1 Reply)
Discussion started by: serpens11
1 Replies

9. Shell Programming and Scripting

A join problem?

Hi everybody, I am hoping somebody here will be either be able to solve my troubles or at least give me a push in the right direction :) . I am developing a shell script to read in 4 different files worth of data that each contain a list of: username firstname secondname group score I... (2 Replies)
Discussion started by: jamjamjammie
2 Replies

10. UNIX for Dummies Questions & Answers

Plink problem....only works if passwd is in the script

I have a one line bat script run off a XP machine that tar's and compresses some files from a Sol 8 box. It goes something like this (a bit simplified).... plink -pw <passwd> user@host "tar -cvf - -C / tmp/a_file | compress " > a_file.tar.Z So this works....and it's worked many times. But now... (3 Replies)
Discussion started by: Yinzer955i
3 Replies
Login or Register to Ask a Question