replace 2 spaces by one


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting replace 2 spaces by one
# 1  
Old 06-23-2010
replace 2 spaces by one

Dear Friends,
I have a flat file from which I want to remove single "space". And, wherever two spaces are provided it should replace it by only one space.

E.g.
I have
N A T I O N A L E D U C A T I O N F O R O R G AN I S A T I ON S
I want
NATIONAL EDUCATION FOR ORGANISATIONS

Please guide me.
Thank you in advance.


Moderator's Comments:
Mod Comment I remember it is not the 1st time you are not using code tags and you collected several warnings/infractions because of this which are now expired of course. You also said once you will obeye this. Please recall this, ty.

Last edited by zaxxon; 06-23-2010 at 04:54 AM.. Reason: code tags
# 2  
Old 06-23-2010
Code:
awk '{$0=gensub("([^ ]) ([^ ])","\\1\\2","g");$0=gensub("([^ ]) ([^ ])","\\1\\2","g");$0=gensub("([^ ])  ([^ ])","\\1 \\2","g");print}' file

# 3  
Old 06-23-2010
try with this...

Code:
sed   's/\([^ ]\)[ ]\([^ ]\)/\1\2/g' IN_FILE| sed 's/  / /g'

Sorry, this not works because 'jump' the characteres substitued... but this is a 'ugly' way:

Code:
sed   's/\([^ ]\)[ ]\([^ ]\)/\1\2/g' fichero0 | sed  's/\([^ ]\)[ ]\([^ ]\)/\1\2/g' | sed 's/  / /g'

I woul like to know how "reexecute" the sed from the first character...so I will have the danger of an infinite loop!

Last edited by albertogarcia; 06-23-2010 at 05:10 AM..
# 4  
Old 06-23-2010
one way:
Code:
$ echo 'N A T I O N A L  E D U C A T I O N  F O R  O R G AN I S A T I ON S' | awk '{gsub(/[ ]{2}/,"\t");gsub(/[ ]/,"");gsub("\t"," ");print}'
NATIONAL EDUCATION FOR ORGANISATIONS
$

# 5  
Old 06-23-2010
Hi

Code:
echo "----your string---" | sed 's/\([^ ]\)\( \)/\1/g'

Guru.
# 6  
Old 06-23-2010
Code:
sed 's/\([^ ]\) /\1/g'

GNU sed:
Code:
sed 's/\b //g'

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

How to replace two or more spaces with one comma?

I'm using sh on hp-ux. I've got a file that looks like this. -5.65 175 -16.17 160 -13.57 270 -51.72 260 -8.30 360 -42.71 460 -.38 375 -.20 375 -4.15 170 -21.53 560 -18.84 360 I'd like to replace all the whitespace between the columns with one comma. I can't... (4 Replies)
Discussion started by: Scottie1954
4 Replies

2. Shell Programming and Scripting

String replace that has spaces

cat rf|nawk '/Use SSL= 0/{n+=1}{if (n==3){sub("Use SSL= 0","Use SSL= 0x1",$0)};print }' > rf2Fails. sed 's/Use SSL= 0/Use SSL= 0x1/g' rf > rf2Fails. In addition, the goal is to ONLY replace the 2nd occurence of the... (15 Replies)
Discussion started by: rfransix
15 Replies

3. Shell Programming and Scripting

Replace spaces at a specific Location

Hello All, I have a comma separated file which needs to be loaded to the database. But, I need to trim the white spaces for a specific column before its loaded. Below is the sample line from the input file: 690,690,0575,"01011940","01011940", , , , , ,36720,36722,V2020,V2999,... (6 Replies)
Discussion started by: Praveenkulkarni
6 Replies

4. Shell Programming and Scripting

Replace with spaces

Hi Guys file:///C:/DOCUME%7E1/c104058/LOCALS%7E1/Temp/moz-screenshot.pngsed 's///g' /source/filename.txt > /destination/filename.txt The above code deletes the characters which are not A-Z, a-z and 0-9, but I wanted to replace it with space without deleting them. Any help is... (2 Replies)
Discussion started by: gowrishankar05
2 Replies

5. UNIX for Dummies Questions & Answers

how to replace spaces with '_' in a file?

Hello #I have a file with a list of sequences; the sequence name is the line starting with '>'. $cat infile >AluYa5 SINE1/7SL Homo sapiens ggccgggcgcggtggctcacgcctgtaatcccagcactttgggaggccgaggcgggcggatcacgaggtc aggagatcgagaccatcccggctaaaacggtgaaaccccgtctctactaaaaatacaaaaaattagccgg... (11 Replies)
Discussion started by: jdhahbi
11 Replies

6. UNIX for Dummies Questions & Answers

replace characters with spaces between tag

I have a file where in some records are having the <Start> and <End> tag. There is data before the start tag , between the tages and after the End tag. I want to replace everything between the start & end tag with equivalent spaces. Input File afsdfaksddfs<start>12678<end>sgdfgdfsf... (6 Replies)
Discussion started by: varunrbs
6 Replies

7. Shell Programming and Scripting

how to replace . with 100 spaces

i have a file like:: $ cat space asd fghj itkg now i want to replace the next line with . and thn this . with the 100 spaces. cat space | tr '\n' '.', it woked for me, to replce the new line to . Now i want to replace this . with 100 spaces. Thanks in advance. (10 Replies)
Discussion started by: Prashant Jain
10 Replies

8. Shell Programming and Scripting

Replace spaces

Hi guys, so I have another issue. Can I use sed to replace spaces in a string or variable with %20 I am having trouble with using curl on URL's containing spaces Thanks! (12 Replies)
Discussion started by: tret
12 Replies

9. Shell Programming and Scripting

Remove spaces between charc and replace it with ','.

Hi, Below is my output file: (The below line has multiple spaces bet charc and I want to replace spaces with "," only for the first line) NYCCMS97KJ931 01-JUN-08 1214957 I want this to be: ... (5 Replies)
Discussion started by: smc3
5 Replies

10. Shell Programming and Scripting

Replace spaces recursively

Hi, I have a directory with files and sub-directories (sub-directory depth might go upto 5). There will be one or more spaces (continuously or anywhere in the file name) which need to be replaced with HYPHENs. How can i replace all SPACE occurances with HYPHEN in file/dir names recursively. (2... (5 Replies)
Discussion started by: prvnrk
5 Replies
Login or Register to Ask a Question