Trouble reading from a tab delimited excel file


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Trouble reading from a tab delimited excel file
# 1  
Old 06-02-2016
Trouble reading from a tab delimited excel file

So I have a file1.txt that is tab delimited:

e.g.
Code:
FIELD1      FIELD2     FIELD3                                 FIELD4         FIELD5
9545641	123	"Neighbor and Labrador,Canada"	54895	'CANADA'
9456465	456	"Neighbor and Labrador,Canada"	54893	'CANADA'
8746512	789	"Neighbor and Labrador,Canada"	54893	'CANADA'

I'm trying to grab its contents by field and display it on the cmd line. I use this command:

Code:
awk '{print ""$1","$2","$3","$4","$5""}' file1.txt

But what ends up happening is that it thinks that the space between Neighbor[]and so it cuts off the field. Is ther eanother way to grab each field. I've been stuck for a while.
# 2  
Old 06-02-2016
If it is strictly tab-separated then you can change the default field separator (whitespace) to tab
Code:
awk -F "\t" ...

and it will not treat space characters as field separator.
But a tab within quotes is still a field separator...
# 3  
Old 06-02-2016
Another problem that will arise if you set the field separator to a tab is that the quotation marks will become part of the data.
You might use sed or vi to remove all the quotation marks, and the apostrophes around CANADA before processing the file.
# 4  
Old 06-02-2016
Quote:
Originally Posted by dan139
So I have a file1.txt that is tab delimited:

e.g.
Code:
FIELD1      FIELD2     FIELD3                                 FIELD4         FIELD5
9545641    123    "Neighbor and Labrador,Canada"    54895    'CANADA'
9456465    456    "Neighbor and Labrador,Canada"    54893    'CANADA'
8746512    789    "Neighbor and Labrador,Canada"    54893    'CANADA'

I'm trying to grab its contents by field and display it on the cmd line. I use this command:
Code:
awk '{print ""$1","$2","$3","$4","$5""}' file1.txt

But what ends up happening is that it thinks that the space between Neighbor[]and so it cuts off the field. Is ther eanother way to grab each field. I've been stuck for a while.
Hello dan139,

Off course it is expected behavior as default field separator for awk is space. So could you please try following and let me know how it goes, though I am not at all sure about your complete requirement.
Code:
 awk -F"\"" '{print $1}'  Input_file

So here I am making field separator as " by doing -F"\"", so likewise you could print the other fields of the line too, hope this helps you.

Thanks,
R. Singh
# 5  
Old 06-02-2016
Thank you works perfectly with this line:
Code:
awk -F '\t' '{print ""$1","$2","$3","$4","$5""}' file1.txt

However I'm trying to wrap the statement like
Code:
(8746512,789,"Neighbor and Labrador,Canada",54893,'CANADA');

But when I execute this:
Code:
awk -F '\t' '{print "("$1","$2","$3","$4","$5");"}' file1.txt

The output becomes:
Code:
);(8746512,789,"Neighbor and Labrador,Canada",54893,'CANADA'

for most of the entries. any way to fix this?
# 6  
Old 06-02-2016
Code:
 awk -F '\t' '{print "(" $1,$2,$3,$4,$5 ");"}' OFS=, myFile

# 7  
Old 06-02-2016
Quote:
Originally Posted by vgersh99
Code:
 awk -F '\t' '{print "(" $1,$2,$3,$4,$5 ");"}' OFS=, myFile

I get the same exact output as before. There's no change.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Replace a column in tab delimited file with column in other tab delimited file,based on match

Hello Everyone.. I want to replace the retail col from FileI with cstp1 col from FileP if the strpno matches in both files FileP.txt ... (2 Replies)
Discussion started by: YogeshG
2 Replies

2. UNIX for Beginners Questions & Answers

Convert Excel File (xls) to tab delimited text file on AIX

Hi i have a problem in my job i try to convert an excel file (xls extention) to text file (tab delimited), but no result with this comand cat xxx.xls > xxx.txt Do you have eny idea? PS: sorry for my english Thanks!! (4 Replies)
Discussion started by: frisso
4 Replies

3. UNIX for Dummies Questions & Answers

Need to convert a pipe delimited text file to tab delimited

Hi, I have a rquirement in unix as below . I have a text file with me seperated by | symbol and i need to generate a excel file through unix commands/script so that each value will go to each column. ex: Input Text file: 1|A|apple 2|B|bottle excel file to be generated as output as... (9 Replies)
Discussion started by: raja kakitapall
9 Replies

4. Shell Programming and Scripting

How to make tab delimited file to space delimited?

Hi How to make tab delimited file to space delimited? in put file: ABC kgy jkh ghj ash kjl o/p file: ABC kgy jkh ghj ash kjl Use code tags, thanks. (1 Reply)
Discussion started by: jagdishrout
1 Replies

5. Shell Programming and Scripting

Help with converting Pipe delimited file to Tab Delimited

I have a file which was pipe delimited, I need to make it tab delimited. I tried with sed but no use cat file | sed 's/|//t/g' The above command substituted "/t" not tab in the place of pipe. Sample file: abc|123|2012-01-30|2012-04-28|xyz have to convert to: abc 123... (6 Replies)
Discussion started by: karumudi7
6 Replies

6. UNIX for Dummies Questions & Answers

tab delimited file that is not tab delimited.

Hi Forum I have a tab delimited file that opens well in Openoffice calc (excel). But when I perform any operation in command line, it reads the file incorrectly. When I 'save As' the same file in office as tab delimited then it works fine. The file that I think is tab delimited is actually... (8 Replies)
Discussion started by: imlearning
8 Replies

7. UNIX for Dummies Questions & Answers

Converting Space delimited file to Tab delimited file

Hi all, I have a file with single white space delimited values, I want to convert them to a tab delimited file. I tried sed, tr ... but nothing is working. Thanks, Rajeevan D (16 Replies)
Discussion started by: jeevs81
16 Replies

8. Shell Programming and Scripting

Reading columns in tab delimited file

I want to read only one column in "|" delimited file and write that column to a new file. For Ex: Input File 1|abc|324|tt 2|efd|11|cbcb 3||1|fg 4|ert|23|88 Output : I want to read column 3 in diff file. 324 11 1 88 Can anyone give me inputs on this ? (2 Replies)
Discussion started by: net
2 Replies

9. Shell Programming and Scripting

Converting Tab delimited file to Comma delimited file in Unix

Hi, Can anyone let me know on how to convert a Tab delimited file to Comma delimited file in Unix Thanks!! (22 Replies)
Discussion started by: charan81
22 Replies

10. Shell Programming and Scripting

tab delimited file to commas

Hi there Just wondered if someone could help me out I have a file that has been delimited by tabs, ie field1<tab>fiield2<tab>field3 Does anybody know a command that will convert tabs to commas throughout the entire file? Note: there are a number of unpopulated fields in the file so... (6 Replies)
Discussion started by: hcclnoodles
6 Replies
Login or Register to Ask a Question