Remove space from numeric value


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Remove space from numeric value
# 1  
Old 04-07-2016
Remove space from numeric value

Hello,

I need help. I have xml file and there are one extra space on number <EpiReference>1 42345</EpiReference>. And of cource, the value change on every new file. I need remove space from that value what is in between <EpiReference> and </EpiReference>. How I can do that?

This are example file:

Code:
<EpiDetails><EpiIdentificationDetails><EpiDate Format="CCYYMMDD">20160331</EpiDate><EpiReference>1 59760</EpiReference></EpiIdentificationDetails><EpiPartyDetails><EpiBfiPartyDetails><EpiBfiIdentifier IdentificationSchemeName="BIC">NDEAHH</EpiBfiIdentifier></EpiBfiPartyDetails><EpiBeneficiaryPartyDetails><EpiNameAddressDetails>Sakun Koivo, Oati Ay</EpiNameAddressDetails><EpiBei>212367-2</EpiBei><EpiAccountID IdentificationSchemeName="IBAN">FI741023144210348960</EpiAccountID>

need to be

Code:
<EpiDetails><EpiIdentificationDetails><EpiDate Format="CCYYMMDD">20160331</EpiDate><EpiReference>159760</EpiReference></EpiIdentificationDetails><EpiPartyDetails><EpiBfiPartyDetails><EpiBfiIdentifier IdentificationSchemeName="BIC">NDEAHH</EpiBfiIdentifier></EpiBfiPartyDetails><EpiBeneficiaryPartyDetails><EpiNameAddressDetails>Sakun Koivo, Oati Ay</EpiNameAddressDetails><EpiBei>212367-2</EpiBei><EpiAccountID IdentificationSchemeName="IBAN">FI741023144210348960</EpiAccountID>

Thanks!

Moderator's Comments:
Mod Comment Please use code tags as required by forum rules!

Last edited by RudiC; 04-07-2016 at 08:05 AM.. Reason: Added code tags.
# 2  
Old 04-07-2016
Any attempts/ideas/thoughts from your side?
# 3  
Old 04-07-2016
Quote:
Originally Posted by RudiC
Any attempts/ideas/thoughts from your side?
No, I don't. I know how i find the value and how to change this, but
it's change only this value. Everything else from file disappear.
cat $1 | while read EPI
do
echo $EPI | sed -n 's:.*<EpiReference>\(.*\)</EpiReference>.*:\1:p' |awk '{ gsub (" ", "", $0); print}'
done



Sorry, I'm stupid and newbie for the Unix coding Smilie
# 4  
Old 04-07-2016
Try this (quick and dirty):
Code:
awk '
match ($0, /<EpiReference>[^<]*<\/EpiReference>/)       {T1 = T2 = substr ($0, RSTART+14, RLENGTH-29)
                                                         gsub (" ", "", T1)
                                                         sub (T2, T1) 
                                                        }
1
' file

# 5  
Old 04-07-2016
Quote:
Originally Posted by RudiC
Try this (quick and dirty):
Code:
awk '
match ($0, /<EpiReference>[^<]*<\/EpiReference>/)       {T1 = T2 = substr ($0, RSTART+14, RLENGTH-29)
                                                         gsub (" ", "", T1)
                                                         sub (T2, T1) 
                                                        }
1
' file

Thanks, but unfortunately this did not work. The output is the same than input. Punctuation is still there Smilie
# 6  
Old 04-07-2016
Not for me. Before
Code:
<EpiReference>1 59760</EpiReference>

After
Code:
<EpiReference>159760</EpiReference>

And, punctuation was not mentioned in post#1 when describing the problem.
# 7  
Old 04-07-2016
Or how about the other way around: give us us an example of your expected input and the result. Rudi's answer was based on your code, not on what you want your code to to do.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Remove new line starting with a numeric value and append it to the previous line

Hi, i have a file with multiple entries. After some tests with sed i managed to get the file output as follows: lsn=X-LINK-IN0,apc=661:0,state=avail,avail/links=1/1, 00,2110597,2094790,0,81,529,75649011,56435363, lsn=TM1ITP1-AM1ITP1-LS,apc=500:0,state=avail,avail/links=1/1,... (5 Replies)
Discussion started by: nms
5 Replies

2. UNIX for Advanced & Expert Users

Need to remove leading space from awk statement space from calculation

I created a awk state to calculate the number of success however when the query runs it has a leading zero. Any ideas on how to remove the leading zero from the calculation? Here is my query: cat myfile.log | grep | awk '{print $2,$3,$7,$11,$15,$19,$23,$27,$31,$35($19/$15*100)}' 02:00:00... (1 Reply)
Discussion started by: bizomb
1 Replies

3. Shell Programming and Scripting

Remove certain column with numeric value

I have file1.txt LBP298W2,300,-18,-115,-12,-105 LBP298W2,300,-18,-115,LBP298W3,300 LBP298W3,300,-18,-115,-12,-105---------- Post updated at 03:35 AM ---------- Previous update was at 03:34 AM ---------- i want to remove every line with non numeric value in column 5 expected result ... (4 Replies)
Discussion started by: radius
4 Replies

4. Shell Programming and Scripting

remove space

File A.txt A005 -119.5 -119.5 -100.5 A006 -120.5 -119.5 -119.3 A008 0 0 0 Output A005 -119.5 -119.5 -100.5 A006 -120.5 ... (1 Reply)
Discussion started by: asavaliya
1 Replies

5. UNIX for Dummies Questions & Answers

How to remove numeric characters in the flat file

HI, can any one help me please .. i have flat file like qwer123rt ass3242ccf jjk654 kjh838ppp nhdg453ok hdkk34 i want remove numeric characters in the flat file i want output like this qwerrt assccf jjk kjhppp nhdgok hdkk help me... (4 Replies)
Discussion started by: rafimd1985
4 Replies

6. UNIX for Dummies Questions & Answers

Find and Replace random numeric value with non-numeric value

Can someone tell me how to change the first column in a very large 17k line file from a random 10 digit numeric value to a non numeric value. The format of lines in the file is: 1702938475,SNU022,201004 the first 10 numbers always begin with 170 (6 Replies)
Discussion started by: Bahf1s
6 Replies

7. Shell Programming and Scripting

Remove space

DATE=6/Jul/2010 6/Jul/2010 var="sed -n '/\ ---------- Post updated at 11:49 AM ---------- Previous update was at 11:36 AM ---------- #!/bin/bash DATE=`./get_date.pl 3` DATE1=`./get_date.pl 2` var1=$( echo "$DATE" | sed "s/ //g" ) var2=$( echo "$DATE1" | sed "s/ //g" ) var="sed -n... (1 Reply)
Discussion started by: sandy1028
1 Replies

8. Shell Programming and Scripting

Remove non numeric values from a variable

Hello all, I am working on a basic script but need a little help. Issue: I am running a SQL Query using sqlplus and a shell script. I have the output of the statement stored as variable $A. $A is set to "other text here 45678754 other text here". I need to strip all text except that numeric... (13 Replies)
Discussion started by: ownedthawte
13 Replies

9. Shell Programming and Scripting

to remove space after numeric

I have a script that shows me the disk SPace used by different dir under my home dir: #!/bin/ksh cd /ednpdtu3/u01/pipe p1=`df -g | tail -1 | tr -s " " | cut -d " " -f2` echo "Total Disk Space of Home Dir is $p1 GB" p2=`df -g | tail -1 | tr -s " " | cut -d " " -f3` echo "Total Disk Space... (2 Replies)
Discussion started by: ali560045
2 Replies

10. Shell Programming and Scripting

Perl code to differentiate numeric and non-numeric input

Hi All, Is there any code in Perl which can differentiate between numeric and non-numeric input? (11 Replies)
Discussion started by: Raynon
11 Replies
Login or Register to Ask a Question