Help with removal of blank spaces from the second field!


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Help with removal of blank spaces from the second field!
# 1  
Old 05-19-2011
Bug Help with removal of blank spaces from the second field!

Hi everyone..
I'm trying to eliminate multiple whitespaces from a file..
I must make use of shell script to eliminate whitespaces..
Take a look at the sample file

Code:
 
1 int main() 
2  { 
3 int a,b; 
4    printf("Enter the values of a and b"); 
5      scanf("%d%d",&a,&b); 
6 if(a>b) 
7        printf("a is greater"); 
8   else 
9 printf("b is greater"); 
10 return(0); 
11  }

The numbers indicate the line number..
The line numbers are followed by one or more spaces.
So I have to eliminate multiple spaces..
ie my output file should be as shown below

Code:
 
1 int main() 
2 { 
3 int a,b; 
4 printf("Enter the values of a and b"); 
5 scanf("%d%d",&a,&b); 
6 if(a>b) 
7 printf("a is greater"); 
8 else 
9 printf("b is greater"); 
10 return(0); 
11 }

I should do this without disturbing the numbers..
Note: The numbers might not be in sequence!
So how can I do this??
Any idea of how to proceed??
Thanks in advance!
# 2  
Old 05-19-2011
Hi,

Try next 'Perl' instruction:
Code:
$ perl -lape 's/^(\d+)\s*(.*?)\s*$/$1 $2/' infile

Regards,
Birei
This User Gave Thanks to birei For This Post:
# 3  
Old 05-19-2011
Quote:
Originally Posted by birei
Hi,

Try next 'Perl' instruction:
Code:
$ perl -lape 's/^(\d+)\s*(.*?)\s*$/$1 $2/' infile

Regards,
Birei

Hi thank you!!
But isn't it possible to do the same using sed command??
# 4  
Old 05-19-2011
Although this smells like homework, here is your solution:
Code:
sed 's/\(\d*\)  */\1 /'


Last edited by mirni; 05-19-2011 at 05:14 AM.. Reason: tsimplification \d\d to \d
This User Gave Thanks to mirni For This Post:
# 5  
Old 05-19-2011
Code:
sed 's/\([^ ]*\) *\(.*\)/\1 \2/' file

This User Gave Thanks to Franklin52 For This Post:
# 6  
Old 05-19-2011
Or (only 1 pattern to remenber):
Code:
 sed -e 's/\([^ ]\{1,\} \) */\1/' file

# 7  
Old 05-19-2011
Quote:
Originally Posted by mirni
Although this smells like homework, here is your solution:
Code:
sed 's/\(\d*\)  */\1 /'

Thank you! Smilie

---------- Post updated at 01:47 PM ---------- Previous update was at 01:47 PM ----------

Quote:
Originally Posted by Franklin52
Code:
sed 's/\([^ ]*\) *\(.*\)/\1 \2/' file

Thank you! Smilie
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

Delete blank spaces and blank lines in a file

Hi Gurus, Somebody can say me how to delete blank spaces and blank lines in a file unix, please. Thank you for advanced. (10 Replies)
Discussion started by: systemoper
10 Replies

2. Shell Programming and Scripting

Removal of extra spaces in *.log files to allow extraction of frequencies

Our university has upgraded its version of a computational chemistry program that our group uses quite regularly. In the past we have been able to extract frequency spectra from log files that are generated. Since the upgrade, the viewing program errors out. I've been able to trace down the changes... (16 Replies)
Discussion started by: wsuchem
16 Replies

3. Solaris

Removing blank spaces

Hi , I want to go out of vi editor temporarily and execute a command in command prompt and again going back to the editor . Is it possible . Any help on this is really helpful. 1. Need to open vi 2. Temporarily come out and execute a command and go back to vi editor (6 Replies)
Discussion started by: rogerben
6 Replies

4. Shell Programming and Scripting

Help with removal of spaces between operators and operands

Hi I'm trying to remove blank spaces in expressions and function calls.. Consider the following example printf ("Hello"); a = a + b; I'm trying to eliminate space in between the function name and the opening brace. And also eliminate space between operators and operands.. That is, I'm... (19 Replies)
Discussion started by: abk07
19 Replies

5. Shell Programming and Scripting

Help with removal of blank spaces in a file

Hello.. I have a text file. I want to remove all the blank spaces(except tab) from the file.. I tried using sed command as shown below sed 's/ //g' file1 But the problem with the above command is that it also eliminates 'tab' which is between the columns.. For example if the contents... (7 Replies)
Discussion started by: abk07
7 Replies

6. UNIX for Dummies Questions & Answers

selective removal of blank spaces in string

Hi, I'm a newbie to shell scripting and I have the following problem: I need all spaces between two letters or a letter and a number exchanged for an underscore, but all spaces between a letter and other characters need to remain. Searching forums didn't help... One example for clarity: ... (3 Replies)
Discussion started by: Cpt_Cell
3 Replies

7. Shell Programming and Scripting

Removing blank spaces, tab spaces from file

Hello All, I am trying to remove all tabspaces and all blankspaces from my file using sed & awk, but not getting proper code. Please help me out. My file is like this (<b> means one blank space, <t> means one tab space)- $ cat file NARESH<b><b><b>KUMAR<t><t>PRADHAN... (3 Replies)
Discussion started by: NARESH1302
3 Replies

8. Shell Programming and Scripting

Handling blank spaces

Hi, I am trying to replace a specific column values in a csv file with double quotes when I am find embedded spaces with in the fields. Example: SNO,NAME,ZIPCODE,RANK,SEX,ADDRESS 1,Robert,74538,12,34, M,Robert Street, NY 2,Sam,07564,13,M,12 Main Ave, CA 3,Kim, Ed,12345,14,M,123D ,... (1 Reply)
Discussion started by: techmoris
1 Replies

9. UNIX for Dummies Questions & Answers

string with blank spaces

I have a file that has dates like this: date FINAL_RESULT; 7 date FINAL_RESULT; 2 date FINAL_RESULT; 5 With this command: seira=`cut -f2 -d\; tes.txt` i take the date FINAL RESULTs and i store them on variable seira.then seira look like this: 6 3 8 I want to read seira and make a sum of all... (4 Replies)
Discussion started by: psalas
4 Replies

10. Shell Programming and Scripting

blank spaces getting deleted

I have to filter out data from a file based on the value of first three characters of each record I have used the following logic FIN=$LOC/TEST2.TXT FEEDFILE=$LOC/TEST1.TXT while read FDROW do FEEDROW=$FDROW; DTYPE=`echo $FEEDROW |cut -c 1-3` if ; then echo $FEEDROW >> $FIN... (5 Replies)
Discussion started by: gander_ss
5 Replies
Login or Register to Ask a Question