Removing spaces between parenthesis ()


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Removing spaces between parenthesis ()
# 1  
Old 03-07-2019
Removing spaces between parenthesis ()

Hello,

i 've go a file with the following text:

Code:
oracle@das (J005)                                              0
oracle@das (J008)                                              0
oracle@das (J050)                                              0
oracle@das (J038)                                              0
oracle@das (J105)                                              0
oracle@das (J058)                                              0
oracle@das (J088)                                              0
oracle@das (J090)                                              0
oracle@das (J032)                                              1
oracle@das (J113)                                              0
oracle@das (J121)                                              0
httpd@MANAGED-UAS1 (TNS V1-V3)                                 0
oracle@das (J002)                                              0

I tried numerous ways with sed to remove only any space which happen to be in the parenthesis only ().
Such that:
Code:
httpd@MANAGED-UAS1 (TNS V1-V3)

Will have:
Code:
httpd@MANAGED-UAS1 (TNSV1-V3)

i've tried:
Code:
cat test.txt | sed -e 's/([(^)]*)//g'
 perl -p 's{(\( .*? \))}{$1 =~ y/ //dr}gex'
 sed -e 's/([(^)]*)( )/\1/'

But none seems to work. Any thoughts or hints?

Rgds,
# 2  
Old 03-07-2019
H, try:
Code:
awk -F'[)(]' '{for(i=2; i<=NF; i+=2) {p=$i; gsub(/ /,x,p); sub($i,p)}}1' file

# 3  
Old 03-07-2019
Can there be more than one space between the parentheses that have to be removed?
Is the position of the last field to be retained?


EDIT: howsoever, try
Code:
sed  ':L; s/\(([^ )]*\) \([^)]*)\)/\1\2 /; tL' file


Last edited by RudiC; 03-07-2019 at 05:45 PM..
This User Gave Thanks to RudiC For This Post:
# 4  
Old 03-07-2019
Code:
sed -r ':1;s/(\s)([^(]*\))/\2\1/;t1' file

--- Post updated at 03:23 ---
maybe only this works in Solaris
Code:
sed -r ':1;s/( )([^(]*\))/\2\1/;t1' file

# 5  
Old 03-08-2019
Hi,

Thanks for your responses. Unfortunately, none of these worked. Forgot also to tell that the platform is Solaris 10 i86.

Code:
[PRODUCTION] root@das:/var/opt/Aspider-NGI/nms/output> awk -F'[)(]' '{for(i=2; i<=NF; i+=2) {p=$i; gsub(/ /,x,p); sub($i,p)}}1' test.txt
awk: syntax error near line 1
awk: illegal statement near line 1
[..]


Last edited by Scrutinizer; 03-08-2019 at 06:24 PM..
# 6  
Old 03-08-2019
Quote:
Code:
perl -p 's{(\( .*? \))}{$1 =~ y/ //dr}gex' file.txt

Nearly correct. Try this:

Code:
perl -pe 's{(\( .*? \))}{$1 =~ y/ //dr}gex' file.txt

or a little shorter and maybe more robust:

Code:
perl -pe 's/(\([^)]+\))/$1 =~ s, ,,r/e;' file.txt

Perls feature use command in regex-replace seems to be quite useful in some situations.

Last edited by stomp; 03-08-2019 at 04:13 AM..
This User Gave Thanks to stomp For This Post:
# 7  
Old 03-08-2019
Hmmm - did you learn something from this post and, esp. its answer?



And, if you encounter a "Label too long:" message - what would you do to correct the error - adapt the label?

Last edited by RudiC; 03-08-2019 at 05:51 AM..
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Removing spaces in the second field alone

Consider my input string as "abc|b f g|bj gy" I am expecting the output as "abc|bfg|bj gy". Please let me know how to achieve this in unix? Thanks (8 Replies)
Discussion started by: pandeesh
8 Replies

2. Shell Programming and Scripting

awk for removing spaces

HI, I have a file with lot of blank lines, how can I remove those using awk?? Thanks, Shruthi (4 Replies)
Discussion started by: shruthidwh
4 Replies

3. Shell Programming and Scripting

removing spaces in filenames

I have a problem mounting images because of the spaces in the filenames. Does anyone know how to rename files by removing the spaces with the find command? find Desktop/$dir -name "*.dmg" -print -exec ??? (4 Replies)
Discussion started by: ianebaj
4 Replies

4. Shell Programming and Scripting

Removing spaces from record

HI i have record as shown below 402665,4X75,754X_FERNIE BC,12F2,008708,FERNIE BC,1,UTC ,UTC ,250 402665,4X75,754X_FERNIE BC,F212,008708,FERNIE BC,1,UTC ,UTC ,250 402665,4Y75,754Y_FERNIE BC,22F2,008708,FERNIE BC,1,UTC ,UTC ,250 here i want to remove multiple spaces into no... (3 Replies)
Discussion started by: raghavendra.cse
3 Replies

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

6. Shell Programming and Scripting

Removing spaces from string

I want a user to be able to paste in a string like "01 3F 20 1F" and have the script reformat it to "013F201F" to pass it on to the next step. I was trying to figure it out with awk but wasnt working well. Never mind, found answer. did not know about tr :) (7 Replies)
Discussion started by: ippy98
7 Replies

7. UNIX for Dummies Questions & Answers

Removing spaces...

Hey, I'm using the command from this thread https://www.unix.com/unix-dummies-questions-answers/590-converting-list-into-line.html to convert vertical lines to horzontal lines. But I need to remove the spaces that is created. Unfortunately I can't figure out where the space is in the code.. I... (2 Replies)
Discussion started by: lost
2 Replies

8. Shell Programming and Scripting

removing spaces

hey.. i had a problem with the unix command when i want to remove the white spaces in a string..i guess i cud do it with a sed command but i get an error when i give space in the square brackets.. string="nh hjh llk" p=`echo $string | sed 's/ //g'` i donno how to give space charater and... (2 Replies)
Discussion started by: sahithi_khushi
2 Replies

9. Shell Programming and Scripting

Removing spaces at particular position

I have a file with delimiter ~ ABC~12~43~TR ~890~poi~YU ~56~65 What I want is to remove spaces from column 4,7 and other columns as it is So, the final file becomes ABC~12~43~TR~890~poi~YU~56~65 (7 Replies)
Discussion started by: superprogrammer
7 Replies

10. Shell Programming and Scripting

removing spaces after sperator

Hi friends i have problem 6000000001| CDC049| 109| CDC| 02/02/2006| Auto| New Add| 02/03/2006 6000000002| CDC033| 109| CDC| 02/02/2006| Auto| New Add| 02/03/2006 6000000003| CDC037| 109| CDC| 02/02/2006| Auto| New Add| 02/03/2006 6000000004| CDC031| ... (6 Replies)
Discussion started by: vishnu_vaka
6 Replies
Login or Register to Ask a Question