Visit The New, Modern Unix Linux Community


remove extra spaces between fields


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting remove extra spaces between fields
# 1  
remove extra spaces between fields

Hi,

I have a source file as mentioned below: I want to remove all the extra spaces between the fields.

a b--------|sa df-------|3232---|3
sf sa------|afs sdf-----|43-----|33
a b c------|adfsa dsf---|23-32|23

*Here '-' idicates spaces

Now, I want output as below:

a b|sa df|3232|3
sf sa|afs sdf|43|33
a b c|adfsa dsf|23-32|23

How can i achieve this?

Thanks,
Sri
# 2  
Code:
sed 's/[[:space:]]\{2,\}\|//g' infile
a b|sa df|3232|3
sf sa|afs sdf|43|33
a b c|adfsa dsf|23-32|23

# 3  
Bug Use tr

cat filename | tr -s ' '

This should work. Replaces two or more more spaces with one space.
# 4  
Hi,

Thanks for your quick reply,

but im getting output as below using SED.

a bsa df32323
sf saafs sdf4333
a b cadfsa dsf23-3223

and using "tr" iam able to delete extra spaces but getting one space(as mentioned below) after each field, which i dont want :

a b |sa df |3232 |3
sf sa |afs sdf |43 |33
a b c |adfsa dsf |23-32 |23

please let me know where iam mistaken?

Thanks,
Sri
# 5  
The sed works without problems on my box as you can see. Maybe you show what you issued and what the error output is or try it with gsed.
# 6  
Using xpg4' sed on Solaris with "sed 's/[[:space:]]\{2,\}\|//g'" gives for me
Code:
a bsa df32323
sf saafs sdf4333
a b cadfsa dsf23 32|23

Must use "sed 's/[[:space:]]\{2,\}\|/|/g'" (just add | before /g) gives the good result
Code:
a b|sa df|3232|3
sf sa|afs sdf|43|33
a b c|adfsa dsf|23 32|23

# 7  
thanks

Thanks all,

Goldorakk, your solution is working fine.

Can you please explain the code. I am unable to understand this.


Thanks,
Sri

Previous Thread | Next Thread
Thread Tools Search this Thread
Search this Thread:
Advanced Search

Test Your Knowledge in Computers #493
Difficulty: Medium
When a program executes, each command executes one after the other, top-to-bottom. This is known as inconsequential control flow.
True or False?

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Grep string causes extra spaces

Hello, I have an xml file and my aim is to grab each line in keywords file and search the string in another file. When keyword is found in xml file,I expect the script to go to previous line in the xml file and grab the string/value between two strings. It's almost working with an error. tab... (6 Replies)
Discussion started by: baris35
6 Replies

2. UNIX for Beginners Questions & Answers

Remove line breaks and extra spaces

Hi, I want to remove all extra spaces, line breaks . Need a new line entry only for term starting"array" For eg: my input is array(), array(), array(), and my expected output is array(), array(), array(), Is it possible using awk? (5 Replies)
Discussion started by: rsi.245
5 Replies

3. UNIX Desktop Questions & Answers

To remove the extra spaces at the end of each line in a file

I have a file of about 10k records and eace line is having an extra space of 5 byte at the end.. Iwant to remove the extra spaces at the end of each line.. Can someone please help me out.. I tried using sed command and its not working... can someone please help me out. (3 Replies)
Discussion started by: rammohan
3 Replies

4. Shell Programming and Scripting

Removing extra unwanted spaces

hi, i need to remove the extra spaces in the 2nd field. Sample: abc|bd |bkd123 .. 1space abc|badf |bakdsf123 .. 2space abc|bqe |bakuowe .. 3space Output: abc|bd|bkd123 abc|badf|bakdsf123 abc|bqe|bakuowe i used the following command, (9 Replies)
Discussion started by: anshaa
9 Replies

5. Shell Programming and Scripting

Remove of extra spaces from the trailing

HI, I need the help from the experts like I have created one file with text like: a b c d e f g h i j k l So my question is that i have to write the script in which like in the first sentence it will take only one space after d and remove all the extra space in the end.I dont... (8 Replies)
Discussion started by: bhanudhingra
8 Replies

6. Shell Programming and Scripting

remove blank spaces from fields

Hi Friends, I have large volume of data file as shown below. Beganing or end of each filed, there are some blank spaces. How do I remove those spaces? AAA AAA1 | BBB BB1 BB2 |CC CCCC DDDD DD | EEEEEEE EEEEEEEE | FFF FFFFFF FFFF GG GGGGGG |HH HH ... (3 Replies)
Discussion started by: ppat7046
3 Replies

7. Shell Programming and Scripting

How to remove extra spaces from a string??

Hi, I have a string like this and i want to remove extra spaces that exists between the words. Here is the sentence. $string="The small DNA genome of hepadnaviruses is replicated by reverse transcription via an RNA intermediate. This RNA "pregenome" contains ... (2 Replies)
Discussion started by: vanitham
2 Replies

8. Shell Programming and Scripting

Remove extra spaces in a line

Hi, I need a help in deleting extra spaces in a text. I have a huge file, a part of it is :- 3 09/21/08 03:32:07 started undef mino Oracle nmx004.wwdc.numonyx.com Message Text : The Oracle session with the PID 1103 has a CPU time ... (6 Replies)
Discussion started by: vikas027
6 Replies

9. Shell Programming and Scripting

How can i remove spaces in between the fields in a file

Hey , I have a file and it's having spaces for some of the fields in it. Like the one below. I want to remove the spaces in them through out the file. The spaces occur randomly and i can't say which field is having space. So please help. Here is sample file with spaces after 5th field. (3 Replies)
Discussion started by: dsravan
3 Replies

10. UNIX for Dummies Questions & Answers

To remove the extra spaces in unix

Hi... I am quite new to Unix and would like an issue to be resolved. I have a file in the format below; 4,Reclaim,ECXTEST02,abc123,Harry Potter,5432 6730 0327 5469,0603,,MC,,1200,EUR,sho-001,,1,,,abc123,1223 I would like my output to be as follows; 4,Reclaim,ECXTEST02,abc123,Harry... (4 Replies)
Discussion started by: Sho
4 Replies

Featured Tech Videos