Visit Our UNIX and Linux User Community


Fields in csv files using sed


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Fields in csv files using sed
# 1  
Old 11-05-2009
Power Fields in csv files using sed

Hi,

I am working right now with a csv file and I want to insert an excel formula say to the 6th column.

sample csv file:

Code:
1234,lag,0,77,544,,7
1234,lag,222,0,7,,7

at first i used a simple command:

Code:
sed 's/^\(.\{17\}\)/\1word/' file.csv

but the result is this:

Code:
1234,lag,0,77,544word,,7
1234,lag,222,0,7,word,7

result should be:

Code:
1234,lag,0,77,544,word,7
1234,lag,222,0,7,word,7

i'm a newbie in unix.

I tried using the sed command i found in one the the threads here but i can only make it work to insert up to 2 columns. I don't really understand how to this works. hope somebody could help. thanks!

this is not mine, I just found this command from one of the threads here:
Code:
sed 's/^\([^,]*\),[^,]*,/\1,word,/' file.csv

result:

Code:
1234,word,lag,0,77,544,,7
1234,word,lag,222,0,7,,7

and i cant seem to make it work so that it will insert a word in the 7th column.


Thanks!

Last edited by Franklin52; 11-05-2009 at 07:37 AM.. Reason: Please use code tags!
# 2  
Old 11-05-2009
Code:
awk -F, -v OFS=, '{ $6 = "word" } 1' file1
1234,lag,0,77,544,word,7
1234,lag,222,0,7,word,7

Or if it's always field 6 and none of the earlier fields are empty:
Code:
sed "s/,,/,word,/" file1
1234,lag,0,77,544,word,7
1234,lag,222,0,7,word,7

# 3  
Old 11-05-2009
thank you very much scottn! it worked!! haha :-)
 

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Matching two fields in two csv files, create new file and append match

I am trying to parse two csv files and make a match in one column then print the entire file to a new file and append an additional column that gives description from the match to the new file. If a match is not made, I would like to add "NA" to the end of the file Command that Ive been using... (6 Replies)
Discussion started by: dis0wned
6 Replies

2. UNIX for Dummies Questions & Answers

using sed delete a line from csv file based on specific data in two separate fields

Hello, :wall: I have a 12 column csv file. I wish to delete the entire line if column 7 = hello and column 12 = goodbye. I have tried everything that I can find in all of my ref books. I know this does not work /^*,*,*,*,*,*,"hello",*,*,*,*,"goodbye"/d Any ideas? Thanks Please... (2 Replies)
Discussion started by: Chris Eagleson
2 Replies

3. Shell Programming and Scripting

checking csv files with empty fields..!

Hi! I need to learn that how a shell script can transverse a csv file n check if any field is empty or not. means its contains two comma or space b/w commas i.e., "" or " ". can anyone help me out how I can do that.... (10 Replies)
Discussion started by: sukhdip
10 Replies

4. Shell Programming and Scripting

Merge 2 CSV files using sed

Help in writing a script using sed which updates fileOne with the contents from fileTwo Example: Contents of fileOne 1,111111 2,897823 3,235473 4,222222 Contents of fileTwo 1,111111,A,1,2 4,222222,A,2,2 5,374632,A,3,2 6,374654,A,4,2 Final File should be: 1,111111,A,1,2... (9 Replies)
Discussion started by: NewToSed
9 Replies

5. Shell Programming and Scripting

How to create a CSV File by reading fields from separate files

SHELL SCRIPT Hi, I have 3 separate files within a folder. Every File contains data in a single column like File1 contains data mayank sushant dheeraj File2 contains DSA_AT MG_AT FLAT_09 File3 contains data 123123 232323 (2 Replies)
Discussion started by: mayanksargoch
2 Replies

6. Shell Programming and Scripting

Compare two files using awk or sed, add values in a column if their previous fields are same

Hi All, I have two files file1: abc,def,ghi,5,jkl,mno pqr,stu,ghi,10,vwx,xyz cba,ust,ihg,4,cdu,oqw file2: ravi,def,kishore ramu,ust,krishna joseph,stu,mike I need two output files as follows In my above example, each row in file1 has 6 fields and each row in file2 has 3... (3 Replies)
Discussion started by: yerruhari
3 Replies

7. UNIX for Dummies Questions & Answers

Compare two files using awk or sed, add values in a column if their previous fields are same

Hi All, I have two files file1: abc,def,ghi,5,jkl,mno pqr,stu,ghi,10,vwx,xyz cba,ust,ihg,4,cdu,oqw file2: ravi,def,kishore ramu,ust,krishna joseph,stu,mike I need two output files as follows In my above example, each row in file1 has 6 fields and each row in file2 has 3... (1 Reply)
Discussion started by: yerruhari
1 Replies

8. UNIX for Advanced & Expert Users

Compare two files using awk or sed, add values in a column if their previous fields are same

Hi All, I have two files file1: abc,def,ghi,5,jkl,mno pqr,stu,ghi,10,vwx,xyz cba,ust,ihg,4,cdu,oqw file2: ravi,def,kishore ramu,ust,krishna joseph,stu,mike I need two output files as follows In my above example, each row in file1 has 6 fields and each row in file2 has 3... (1 Reply)
Discussion started by: yerruhari
1 Replies

9. Shell Programming and Scripting

awk sed cut? to rearrange random number of fields into 3 fields

I'm working on formatting some attendance data to meet a vendors requirements to upload to their system. With some help on the forums here, I have the data close. But they've since changed what they want. The vendor wants me to submit three fields to them. Field 1 is the studentid field,... (4 Replies)
Discussion started by: axo959
4 Replies

10. Shell Programming and Scripting

Re-usable function to parse csv files with different number of fields

Hi there, been pondering how to deal with this and hoping someone would give me an insight on this. I need help on creating a reusable bash funtion to parse csv files containing different number of fields (comma-seperated). My initial thought is to create function for each input csv file (20+... (2 Replies)
Discussion started by: jy2k7ca
2 Replies

Featured Tech Videos