Trimming fields for comma or pipe seperated file


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Trimming fields for comma or pipe seperated file
# 1  
Old 05-07-2009
Trimming fields for comma or pipe seperated file

I have file like this

FileA:
abc , "helloworld" , america
def,asia, japan
ghi, africa, ipl

Output Needed:
abc,"helloworld",america
def,asia,japan
ghi,africa,ipl

I would like to implement using awk.
I want to trim each field for its leading and trailing spaces.
# 2  
Old 05-07-2009
for the past 6 posts, you have been asking awk questions, so what have you tried so far? have you been reading up on awk ?
# 3  
Old 05-07-2009
Hi ..
USE THIS Command

awk '{gsub(" ","",$0); print $0;}' filename
regards
Manish
# 4  
Old 05-08-2009
Quote:
Originally Posted by manish6725
Hi ..
USE THIS Command

awk '{gsub(" ","",$0); print $0;}' filename
regards
Manish

The above script just removes spaces from any where in the line.
I like to trim each field in a comma seperated file.

I wrote the following code:
Code:
awk '{gsub("^[ ]*","",$1);gsub("^[ ]*","",$2) ;gsub("^[ ]*","",$3) print $1,$2,$3;}' filename > filename1
awk '{gsub("[ ]*$","",$1);gsub("[ ]*$","",$2) ;gsub("^[ ]*$","",$3) print $1,$2,$3;}'filename1 > filename

The problem with this code is it not versatile for different files with different number of fields.

Appreciate help on making this versatile
# 5  
Old 05-08-2009
This removes the spaces except the spaces within the double quotes:

Code:
awk -F"\"" '{for(i=1;i<=NF;i++){if(i%2)gsub(" ","",$i)}}1' OFS="\"" file

Regards
# 6  
Old 05-08-2009
Quote:
Originally Posted by Franklin52
This removes the spaces except the spaces within the double quotes:

Code:
awk -F"\"" '{for(i=1;i<=NF;i++){if(i%2)gsub(" ","",$i)}}1' OFS="\"" file

Regards

Thankyou Franklin52

This was what i was looking for that does triming and not with in double quotes.

Thanks again
# 7  
Old 05-08-2009
Quote:
Originally Posted by pinnacle
Thankyou Franklin52

This was what i was looking for that does triming and not with in double quotes.

Thanks again
Code:
nawk -F"\"" '{for(i=1;i<=NF;i++){if(i%2)gsub("^[ ]*","",$i);gsub("[ ]*$","",$i)}}1' OFS="\"" filetst1

Modified as the earlier version was eating away the spaces between words in a csv thanks!!
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

How to extract fields from a CSV i.e comma separated where some of the fields having comma as value?

can anyone help me!!!! How to I parse the CSV file file name : abc.csv (csv file) The above file containing data like abv,sfs,,hju,',',jkk wff,fst,,rgr,',',rgr ere,edf,erg,',',rgr,rgr I have a requirement like i have to extract different field and assign them into different... (4 Replies)
Discussion started by: J.Jena
4 Replies

2. Shell Programming and Scripting

Need Help in rearranging the content of a file comma seperated

I have a file with the below content a = test1 b = test2 a = test3 b= test4 c = test6 b = test5 d = test7 d = test9 Need the output to be as follows a = test1,test3 b = test2, test5 c = test6 d = test7, test9 (4 Replies)
Discussion started by: iron_michael86
4 Replies

3. UNIX for Dummies Questions & Answers

Need help removing leading spaces from one field in comma seperated file

Using awk or sed, I'd like to remove leading spaces after a comma and before a right justified number in field 6. Sounds simple but I can't find a solution. Each field's formatting must stay intact. Input: 40,123456-02,160,05/24/2012,02/13/1977, 10699.15,0 Output:... (5 Replies)
Discussion started by: Scottie1954
5 Replies

4. Shell Programming and Scripting

Convert comma seperated file to line seperated.

Hi, I have data like this. 1,2,3,4 Output required: 1 2 3 4 I am trying to use tr function but getting error. Help is appreciated. (6 Replies)
Discussion started by: pinnacle
6 Replies

5. Shell Programming and Scripting

Passing Comma seperated arguments

Hi How to takes coma seperated arguments and and parsing each argument to varaiable that has used further in the script. (1 Reply)
Discussion started by: Reddy482
1 Replies

6. Shell Programming and Scripting

perl help for comma seperated output

Hi, how can i make a comma seperated output summary. i attached the sample log file. I have to capture these data in the log file. Arcotid Time Stamp, Username, Success, Failure, Error Code, Error Message In the log snippet the userID can be found in- Code Arcot Native Server:... (3 Replies)
Discussion started by: namishtiwari
3 Replies

7. Shell Programming and Scripting

Removing blank lines from comma seperated and space seperated file.

Hi, I want to remove empty/blank lines from comma seperated and space seperated files Thanks all for help (11 Replies)
Discussion started by: pinnacle
11 Replies

8. UNIX for Dummies Questions & Answers

Search and then concat 4m other file (comma seperated)

My query is now a bit simplified. file1.txt names; ID; value1 ; values N; ABC; 1 ; a18 ; ... CDF; 2 ; b16 ; .. ABC; 1 ; c13 ; ...... EFG; 3 ;d12 ; ... file2.txt ID(Unique);smVals; smVal1; smVal N; 1; ...; ...; ...; 2; ..; ..; ..; 3; ..; ..; ..; ... (1 Reply)
Discussion started by: szchmaltz
1 Replies

9. UNIX for Advanced & Expert Users

How to load comma seperated values file (*.csv) into Oracle table

Hi all I need to input values in a .csv file into my Oracle table running in Unix, I wonder what would be the command to do so... The values are recorded in an excel file and I tried using a formatted text file to do so but failed because one of the field is simply too large to fit in the... (4 Replies)
Discussion started by: handynas
4 Replies

10. UNIX for Dummies Questions & Answers

How to load comma seperated values file (*.csv) into Oracle table

Hi all I need to input values in a .csv file into my Oracle table running in Unix, I wonder what would be the command to do so... The values are recorded in an excel file and I tried using a formatted text file to do so but failed because one of the field is simply too large to fit in the... (5 Replies)
Discussion started by: handynas
5 Replies
Login or Register to Ask a Question