Inserting a new column in a file


 
Thread Tools Search this Thread
Top Forums UNIX for Advanced & Expert Users Inserting a new column in a file
# 1  
Old 07-31-2006
Inserting a new column in a file

Hey..

I'm writing a code to download some stuff from Informix database and put it on Xls. It works fine, but I have a problem fitting in a new requirement.

I have currently a file which has information like below.

f_name|Ronnie|Johnson|23.00|
f_sal|Ronnie|Jhonson|4000.00|
f_dept|Finance|Jr.Asst|23|

Now I need to insert a new column with a description corresponding to field name and that value needs to be inserted before it.

EmpName|f_name|Ronnie|Johnson|23.00|
EmpSalary|f_sal|Ronnie|Jhonson|4000.00|
EmpDept|f_dept|Finance|Jr.Asst|23|

I'm not sure of how to insert a value before a text moving the whole line to the right..

any thoughts please...
# 2  
Old 07-31-2006
Try reeading the main page for join
IF you create a second file
Code:
EmpName|f_name
EmpSalary|f_sal
EmpDept|f_dept

you can join it to the first file. join creates a relation - in the database sense - almost like a join between two tables. Except it works per row - so if you have 30 lines in file1, then file2 needs 30 lines as well. If you want every line in the join to have a leading column
# 3  
Old 07-31-2006
Tried.. doesn't work

Hey..

I tried the way u told me .. I'm on AIX actually..

In the first file there are multiple entries of the field name.. like

f_name|Ronnie|Johnson|23.00|
f_name|xxxx|yyyy|000|
f_name|ssss|dddd|123|
f_sal|Ronnie|Jhonson|4000.00|
f_sal|xxxx|yyyy|000|
f_sal|ssss|dddd|123|
f_dept|Finance|Jr.Asst|23|

I created a second file like

f_name|EmpName
f_sal|EmpSalary
f_dept|EmpDept

and did a simple join after sorting both the files..
join file1 file2 > file3.

nothing happened. No error popped up an nothing is happening.. is AIX a problem..
i tried using "join -i" option but that is not available in AIX i guess.
the number of rows in the two files are obviously not the same

is there anyother way out ??
# 4  
Old 07-31-2006
Did you read the man page for join on AIX?
  1. You have delimiters that normally interfere with commands like these so you have to use the -t parameter (e.g. -t\|)
  2. You have to tell join what to join on (e.g. -1 1 -2 1)
  3. Optionally, you may want to specify output (e.g. -o 1.2,2.3,2.4)
so, with this:
Code:
join -t\| -1 1 -2 1 -o 1.2,2.3,2.4 file2 file1

you get this:
Code:
EmpName|Johnson|23.00
EmpName|yyyy|000
EmpName|dddd|123
EmpSalary|Jhonson|4000.00
EmpSalary|yyyy|000
EmpSalary|dddd|123

...on AIX even Smilie
# 5  
Old 08-01-2006
works ~

Works bud !!.. thanks much !
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Inserting column data based on category assignment

please help with the following. I have 4 col data .. instrument , category, variable and value. the instruments belong to particular categories and they all measure some variables (var1 and var2 in this example), the last column is the value an instrument outputs for a variable. I have used... (0 Replies)
Discussion started by: ritakadm
0 Replies

2. Shell Programming and Scripting

Inserting IDs from a text file into a sequence alignment file

Hi, I have one file with one column and several hundred entries File1: NA1 NA2 NA3And now I need to run a command within a mapping aligner tool to insert these sample names into a sequence alignment file (SAM) such that they look like this @RG ID:Library1 SM:NA1 PL:Illumina ... (7 Replies)
Discussion started by: nans
7 Replies

3. Shell Programming and Scripting

awk/sed inserting muliple informations in one column

I'm probably sure I need to use either awk or sed judging by research but I'm not sure what exact command I have to do to do following...:wall: So this is my text file CPU 1 2 3 4 5 6 RAM 2 3 4 5 6 7 HAR 3 4 5 6 7 8 -------------- my input: Cur_CPU=10 Cur_RAM=11 Cur_HAR=13 Desired... (5 Replies)
Discussion started by: simonirang
5 Replies

4. Shell Programming and Scripting

Inserting some text if a field in the last column changes

Hi, I have a file which looks like this: A 01 00 B 02 00 C 04 00 D 00 01 E 01 01 F 02 01 G 01 04 H 02 04 I want to insert some text if the field if the last column changes. It should look like this: Value 00 A 01 00 B 02 00 C 04 00 Value 01 (6 Replies)
Discussion started by: wenclu
6 Replies

5. UNIX for Dummies Questions & Answers

Inserting a column into a text file

I have a tab delimited text file with multiple columns (data.txt). I would like to insert a column into the text file. The column I want to insert is in a text file (column.txt). I want to insert it into the 5th column of data.txt. How do I go about doing that? Thanks! (2 Replies)
Discussion started by: evelibertine
2 Replies

6. Shell Programming and Scripting

Match column 3 in file1 to column 1 in file 2 and replace with column 2 from file2

Match column 3 in file1 to column 1 in file 2 and replace with column 2 from file2 file 1 sample SNDK 80004C101 AT XLNX 983919101 BB NETL 64118B100 BS AMD 007903107 CC KLAC 482480100 DC TER 880770102 KATS ATHR 04743P108 KATS... (7 Replies)
Discussion started by: rydz00
7 Replies

7. Ubuntu

Inserting a header with column number to a 1.6 GB file with special spacing

Hi; I've been searching posts to find a solution to what I'm trying to do, but I've have NOT found anything yet. I have a file (file1) with 300K columns and 1411 rows, the columns don't have a column no. header (No header at all) and I'm trying to fetch the information from specific columns.... (3 Replies)
Discussion started by: sogi
3 Replies

8. 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

9. Shell Programming and Scripting

Inserting a column from one file into another big file

Hi I have two files, one is 1.6 GB. I would like to add one extra column of information to the large file at a specific location (after its 2nd column). For example: File 1 has two columns more than 1000 rows like this MM009987 1 File 2 looks like this MM00098 MM00076 3 4 2 4 2... (1 Reply)
Discussion started by: sogi
1 Replies

10. Shell Programming and Scripting

Inserting a column in a file

Hi I have the following info in a file file1 ABCD DSFD sdfsd YUISA I want to add a column to the file file1 like the below. STR ABCD STR DSFD STR sdfsd STR YUISA Is there any way in sed or awk to do it. Regards Dhana (7 Replies)
Discussion started by: dhanamurthy
7 Replies
Login or Register to Ask a Question