[Webinar] Streamline your web hosting managementRegister Today

x
?
Solved

Removing tab from a column inside a file.

Posted on 2008-06-10
12
Medium Priority
?
231 Views
Last Modified: 2010-04-22
Hi All,
I haveone file which has 100 records each separated by "|". In some records, one column has tab . How can i delete tab form that column inside a file.
example
20080609|67961856|EQUITY PARTNERS 2004 EMPLOYEE FUND, L.P       |EQUITY PARTNERS 2004 EMPLOYEE FUND, L.P        |

There is a tab after L.P.
I used sed 's/^[ \t]*//;s/[ \t]*$//' .. but this didnot help for tab between line.

Can Somebody Help?

0
Comment
Question by:sunilbains
  • 6
  • 5
12 Comments
 
LVL 85

Expert Comment

by:ozo
ID: 21754391
sed 's/[ \t]*\|/|/g'
0
 

Author Comment

by:sunilbains
ID: 21754669
hi,
    iam getting following output..after tunning above command.
|2|0|0|8|0|6|0|9|||8|9|4|8|4|7|4|7|||M|a|t|s|u|m|o|i|n|c|.|||||P|r|i|v|a|t|e|P|l|a|c|e|m|e|n|t|||A|c|t|i|v|e|||2|0|0|3|0|1|2|0|||||0|.|0|0|||||||||||||||||||||||
I just need to remove "tab"  from records.
0
 
LVL 85

Expert Comment

by:ozo
ID: 21754735
which version of sed are you using?
sid you try it without the \ in front of the |
0
Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

 

Author Comment

by:sunilbains
ID: 21754797
GNU sed version 4.0.7
I dont want  to substitute tab with "|"
sed 's/[ \t]*\|/|/g'  ---  this is what this comand doing???
for below record,
20080609|67961856|EQUITY PARTNERS 2004 EMPLOYEE FUND, L.P       |EQUITY PARTNERS 2004 EMPLOYEE FUND, L.P        |

output should be
20080609|67961856|EQUITY PARTNERS 2004 EMPLOYEE FUND, L.P  |EQUITY PARTNERS 2004 EMPLOYEE FUND, L.P |




0
 
LVL 85

Expert Comment

by:ozo
ID: 21754831
did you try it without the \ in front of the |
sed 's/[ \t]*|/|/g'  
0
 

Author Comment

by:sunilbains
ID: 21754953
Hi,
It worked..
But will it replace tab between two words with space  also?. or it will jon two words
for example EQUITY                 PARTNERS    will it be EQUITY PARTNERS  or EQUITYPARTNERS
0
 
LVL 1

Expert Comment

by:pepecura
ID: 21755075
sed 's/[\t*]//g'

should work. * character is inside the brackets.
0
 
LVL 85

Expert Comment

by:ozo
ID: 21755132
Do you want it to replace tab between two words with space  also?.
0
 

Author Comment

by:sunilbains
ID: 21755222
hi,
I tried this command sed 's/[\t*]//g'
it worked fine for everything. So this command basicallt replace all TAB with nothing??
So instead of sed 's/[ \t]*|/|/g'    i can rely on sed 's/[\t*]//g'  for deleting tabs from the file ?
0
 
LVL 85

Expert Comment

by:ozo
ID: 21755291
That will also delete any * character anywhere in the file?
the ^ or $ or | restricts it to only deleting next to the beginning of the line, end of the line or | character respectively
0
 

Author Comment

by:sunilbains
ID: 21755404
by saying substitute tab with space i ment that I dont want to join two words  after deleting tab between them
for example. EQUITY                 PARTNERS   should  be EQUITY PARTNERS  not  EQUITYPARTNERS
But i think command sed 's/[\t*]//g'  will not append two words. Correct me if iam wrong??
0
 
LVL 85

Accepted Solution

by:
ozo earned 2000 total points
ID: 21755466
s/[\t ]\{1,\}/ /g
will replace strings of one or more tabs and spaces with space
0

Featured Post

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Have you ever been frustrated by having to click seven times in order to retrieve a small bit of information from the web, always the same seven clicks, scrolling down and down until you reach your target? When you know the benefits of the command l…
The purpose of this article is to fix the unknown display problem in Linux Mint operating system. After installing the OS if you see Display monitor is not recognized then we can install "MESA" utilities to fix this problem or we can install additio…
The Relationships Diagram is a good way to get an overall view of what a database is keeping track of. It is also where relationships are defined. A relationship specifies how two tables connect to each other. As you build tables in Microsoft Ac…
Is your organization moving toward a cloud and mobile-first environment? In this transition, your IT department will encounter many challenges, such as navigating how to: Deploy new applications and services to a growing team Accommodate employee…
Suggested Courses

612 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question