Visit Our UNIX and Linux User Community


How to convert text to columns in tab delimited text file


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers How to convert text to columns in tab delimited text file
# 1  
Old 09-28-2010
Computer How to convert text to columns in tab delimited text file

Hello Gurus,

I have a text file containing nearly 12,000 tab delimited characters with 4000 rows. If the file size is small, excel can convert the text into coloumns. However, the file that I have is very big. Can some body help me in solving this problem?

The input file example,

L36+univ06->22260 ML_GENO 2/2 2/2 2/2 1/1 1/1 1/2 2/2 1/2 2/2 2/2 2/2 2/1
L36+univ06->23326 ML_GENO 2/2 2/2 2/2 1/1 1/1 2/2 2/2 2/2 2/2 2/1 2/2 2/1

I want a text file which looks like

L36+univ06 22260 c3 c4 c5 c6 2 2 2 2 2 2 1 1 1 1 1 2 2 2 1 2 2 2 2 2 2 2 2 1
L36+univ06 23326 c3 c4 c5 c6 2 2 2 2 2 2 1 1 1 1 2 2 2 2 2 2 2 2 2 1 2 2 2 1

Basically I want to delete -> and ML_GENO and insert 4 new coloumns after 2nd coloumn. Finally I want to separate 2/2 into 2 2.

can somebody help me on this? Thanks a lot.
# 2  
Old 09-28-2010
Code:
$ ruby -ne 'a=$_.gsub(/\/|ML_GENO|->/," ").split; a.insert(2,%w{c3 c4 c5 c6});puts a.join(" ")' file
L36+univ06 22260 c3 c4 c5 c6 2 2 2 2 2 2 1 1 1 1 1 2 2 2 1 2 2 2 2 2 2 2 2 1
L36+univ06 23326 c3 c4 c5 c6 2 2 2 2 2 2 1 1 1 1 2 2 2 2 2 2 2 2 2 1 2 2 2 1

# 3  
Old 09-28-2010
thanks for the reply Kurumi. However, I have problem. Because the cygwin says bash: ruby: command not found.

Is there a script from perl or sed or awk?

Thanks a lot!
# 4  
Old 09-28-2010
Code:
$ sed 's/ML_GENO/c3 c4 c5 c6/;s/->/ /;s|\/| |g' file
L36+univ06 22260 c3 c4 c5 c6 2 2 2 2 2 2 1 1 1 1 1 2 2 2 1 2 2 2 2 2 2 2 2 1
L36+univ06 23326 c3 c4 c5 c6 2 2 2 2 2 2 1 1 1 1 2 2 2 2 2 2 2 2 2 1 2 2 2 1

# 5  
Old 09-28-2010
Thanks once again for code. It worked to insert the new 4 coloumns and also to delete ML_GENO and ->. However, it still can not separate 2/2 into 2 2 and also I want them in separate coloumn like L36+univ06 22260 c3 c4 c5 c6 2 2. But the present code gives me a file like L36+univ0622260 c3 c4 c5 c6 2/2 2/2.

Could you please help on this? thanks
# 6  
Old 09-29-2010
well, as you can see, my output has no problem. Why don't you show how you do it
# 7  
Old 09-29-2010
oh you are right. I am sorry about that. I made a mistake in typing the codes correctly. Thanks a million. It is working fine.
 

Previous Thread | Next Thread
Test Your Knowledge in Computers #893
Difficulty: Easy
sed uses regular expressions, such as .* (zero or more of any character).
True or False?

10 More Discussions You Might Find Interesting

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

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

3. Shell Programming and Scripting

Remove blank columns from a tab delimited text file

Hello, I have some tab delimited files that may contain blank columns. I would like to delete the blank columns if they exist. There is no clear pattern for when a blank occurs. I was thinking of using sed to replace instances of double tab with blank, sed 's/\t\t//g' All of the examples... (2 Replies)
Discussion started by: LMHmedchem
2 Replies

4. UNIX for Dummies Questions & Answers

Using awk to log transform a column in a tab-delimited text file?

How do I use awk to log transform the fifth column of a tab-delimited text file? Thanks! (1 Reply)
Discussion started by: evelibertine
1 Replies

5. UNIX for Dummies Questions & Answers

How to convert a text file into tab delimited format?

I have a text file that made using text editor in Ubuntu. However the text file is not being recognized as space or tab delimited, the formatting seems to be messed up. How can I convert the text file into tab delimited format? (3 Replies)
Discussion started by: evelibertine
3 Replies

6. UNIX for Dummies Questions & Answers

Add a new column to a tab delimited text file

I want to add a new column to a tab delimited text file. It will be the first column and it will just be 1's. How do I go about doing that? Thanks! (1 Reply)
Discussion started by: evelibertine
1 Replies

7. UNIX for Dummies Questions & Answers

Deleting columns from a tab delimited text file?

I have a tab limited text file with 10000+ columns. I want to delete columns 6 through 23, how do I go about doing that? Thanks! (1 Reply)
Discussion started by: evelibertine
1 Replies

8. Shell Programming and Scripting

Extracting a portion of data from a very large tab delimited text file

Hi All I wanted to know how to effectively delete some columns in a large tab delimited file. I have a file that contains 5 columns and almost 100,000 rows 3456 f g t t 3456 g h 456 f h 4567 f g h z 345 f g 567 h j k lThis is a very large data file and tab delimited. I need... (2 Replies)
Discussion started by: Lucky Ali
2 Replies

9. Shell Programming and Scripting

Delete first column in tab-delimited text-file

I have a large text-file with tab-delimited genetic data that looks like: KSC112 KSC234 0 0 1 1 A G C T I simply wan to delete the first column, but since the file has 600 000 columns, it is not possible with awk (seems to be limited at 32k columns). Does anyone have an idea how to do this? (2 Replies)
Discussion started by: andmal
2 Replies

10. Shell Programming and Scripting

Removing blanks in a text tab delimited file

Hi Experts I am very new to perl and need to make a script using perl. I would like to remove blanks in a text tab delimited file in in a specfic column range ( colum 21 to column 43) sample input and output shown below : Input: 117 102 650 652 654 656 117 93 95... (3 Replies)
Discussion started by: Faisal Riaz
3 Replies

Featured Tech Videos