remove spaces between tags

I am having the data.txt file as follows.

-------

<RMService>
	<ResControl>
		<ResultCode>FATAL</ResultCode>
		<ServiceTime>38</ServiceTime>
		<DWLControl>
			<requesterLanguage>100</requesterLanguage>
			<requesterLocale>en</requesterLocale>
			<requesterName>NCO A Batch Load</requesterName>
			<requestID>4</requestID>
		</DWLControl>
	</ResControl>
<RMService>

-------

All the spaces, tabs, new lines has to be removed and all the tags has to be in a single line as follows.

-------

<RMService><ResControl><ResultCode>FATAL</ResultCode><ServiceTime>38</ServiceTime><DWLControl><requesterLanguage>100</requesterLanguge><requesterLocale>en</requesterLocale><requesterName>NCO A Batch Load</requesterName><requestID>4</requestID></DWLControl></ResControl><RMService>

-------

Please not that the space between "NCO A Batch Load" should not be removed. because it is inside the tag.

Can anyone help me out?

Thanks in advance.

Krishnakanth Manivannan

awk '{$1=$1;printf $0}' file > new.file

this may not be the best way but it shld work

for i in `cat input`
        do echo "$i\c" >>output
        done
echo `cat INPUTFILE` | sed 's/> </></g'
1 Like

one more ..

$ xargs < inputfile | sed 's/> </></g'

Or with Perl:

$
$
$ cat data.txt
<RMService>
       <ResControl>
               <ResultCode>FATAL</ResultCode>
               <ServiceTime>38</ServiceTime>
               <DWLControl>
                       <requesterLanguage>100</requesterLanguage>
                       <requesterLocale>en</requesterLocale>
                       <requesterName>NCO A Batch Load</requesterName>
                       <requestID>4</requestID>
               </DWLControl>
       </ResControl>
<RMService>
$
$
$ perl -plne 'BEGIN {$/=""} s/>\s*</></g' data.txt
<RMService><ResControl><ResultCode>FATAL</ResultCode><ServiceTime>38</ServiceTime><DWLControl><requesterLanguage>100</requesterLanguage><requesterLocale>en</requesterLocale><requesterName>NCO A Batch Load</requesterName><requestID>4</requestID></DWLControl></ResControl><RMService>
$
$

tyler_durden

$ sed -e 's/^ .* </</' test | tr -d "\n"
<RMService><ResControl><ResultCode>FATAL</ResultCode><ServiceTime>38</ServiceTime><DWLControl><requesterLanguage>100</requesterLanguage><requesterLocale>en</requesterLocale><requesterName>NCO A Batch Load</requesterName><requestID>4</requestID></DWLControl></ResControl><RMService>