Problem with grep


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Problem with grep
# 1  
Old 04-19-2011
Problem with grep

I have the following ksh
Code:
#!/bin/ksh
file=$OBS_APP_PATH/config/com/uhg/obs/inbound/configs/XMLFile_ServiceFeeDetail.xml
echo $file
cntWrd=0
echo $cntWrd
cntWrd= grep -c '<serviceFee>' $file
echo $cntWrd

while executing the above im getting the following error msg:
Code:
/obs/tst/app/config/com/uhg/obs/inbound/configs> sh parsingNew.ksh
/obs/tst/app/config/com/uhg/obs/inbound/configs/XMLFile_ServiceFeeDetail.xml
0
: No such file or directory path
/obs/tst/app/config/com/uhg/obs/inbound/configs/
: No such file or directoryail.xml
0

------------------------------------------
but when i execute the command
Code:
grep -c '<serviceFee>' XMLFile_ServiceFeeDetail.xml

im getting the correct result as '2'

---------------------------------------------

Code:
XML file:

<?xml version="1.0"?>
<serviceFeeDetail>
	<controlData>	
		<messageName>Service Fee Detail<messageName>						
		<activityThruDate>02/03/2011</activityThruDate>			
		<serviceFeeCount>2</serviceFeeCount>			
		<serviceFeeLineItemCount>2</serviceFeeLineItemCount>			
		<totalFeeAmount>40</totalFeeAmount>	
	</controlData>				
	<serviceFee>			
		<interfaceID>1</interfaceID>		
		<sourceAdminSysCd>1</sourceAdminSysCd>		
		<sourceCustNbr>1</sourceCustNbr>		
		<invoiceBillGrpNbr>1</invoiceBillGrpNbr>		
		<serviceFeeLineItem>		
			<billLineNbr>1</billLineNbr>	
			<revenuePeriodStartDate>02/03/2011</revenuePeriodStartDate>	
			<revenuePeriodEndDate>02/09/2011</revenuePeriodEndDate>	
			<premiumFeeRelationshipID>1</premiumFeeRelationshipID>	
			<billGrpNbr>1</billGrpNbr>	
			<serviceProvider>	
				<basicsInvoiceFeeTransactionID>1</basicsInvoiceFeeTransactionID>
				<serviceProviderID>1</serviceProviderID>
				<serviceProviderName>Balesh</serviceProviderName>
				<serviceFeeRateTypeCd>POP</serviceFeeRateTypeCd>
				<serviceFeeRate>20.00</serviceFeeRate>
				<serviceFeeAmount>20.00	</serviceFeeAmount>
				<serviceFeeAdjustmentInd>Y</serviceFeeAdjustmentInd>
				<basicsServiceFeeDeterminationStatusCd>SUC</basicsServiceFeeDeterminationStatusCd/>
			</serviceProvider>	
		</serviceFeeLineItem>		
	</serviceFee>
	<serviceFee>			
		<interfaceID>2</interfaceID>		
		<sourceAdminSysCd>2</sourceAdminSysCd>		
		<sourceCustNbr>2</sourceCustNbr>		
		<invoiceBillGrpNbr>2</invoiceBillGrpNbr>		
		<serviceFeeLineItem>		
			<billLineNbr>2</billLineNbr>	
			<revenuePeriodStartDate>02/03/2011</revenuePeriodStartDate>	
			<revenuePeriodEndDate>02/09/2011</revenuePeriodEndDate>	
			<premiumFeeRelationshipID>2</premiumFeeRelationshipID>	
			<billGrpNbr>2</billGrpNbr>	
			<serviceProvider>	
				<basicsInvoiceFeeTransactionID>2</basicsInvoiceFeeTransactionID>
				<serviceProviderID>2</serviceProviderID>
				<serviceProviderName>Bala</serviceProviderName>
				<serviceFeeRateTypeCd>POP</serviceFeeRateTypeCd>
				<serviceFeeRate>20.00</serviceFeeRate>
				<serviceFeeAmount>40.00	</serviceFeeAmount>
				<serviceFeeAdjustmentInd>Y</serviceFeeAdjustmentInd>
				<basicsServiceFeeDeterminationStatusCd>SUC</basicsServiceFeeDeterminationStatusCd/>
			</serviceProvider>	
		</serviceFeeLineItem>		
	</serviceFee>			
</serviceFeeDetail>

----------------------------------------------------

Please help me in figuring out where im gng wrong... Tnx in advance...

Last edited by Franklin52; 04-19-2011 at 05:26 AM.. Reason: Please use code tags
# 2  
Old 04-19-2011
Code:
cntWrd= grep -c '<serviceFee>' $file

This will not work in shell. Use:
Code:
cntWrd=$(grep -c '<serviceFee>' $file)

Generally you can add to your code a set -x where debugging output of your script should start and stop it with set +x.
# 3  
Old 04-19-2011
Thank you so much for the reply...

But still im getting error as follows:

/obs/tst/app/config/com/uhg/obs/inbound/configs/XMLFile_ServiceFeeDetail.xml
0
: No such file or directorys/tst/app/config/com/uhg/obs/inbound/configs/XMLFile_ServiceFeeDetail.xml

---------------------
In the grep stmt $file is not getting recognisedSmilie... I tried my best but couldnt solve it... Smilie
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

sed Or Grep Problem OR Terminal Problem?

I don't know if you guys get this problem sometimes at Terminal but I had been having this problem since yesterday :( Maybe I overdid the Terminal. Even the codes that used to work doesn't work anymore. Here is what 's happening: * I wanted to remove lines containing digits so I used this... (25 Replies)
Discussion started by: Nexeu
25 Replies

2. Shell Programming and Scripting

Grep problem

Hello. I'm learning shell scripting right now and I'm trying simple scripts. I have a problem with the one below. The idea is to found the number of files containing asd in their name. Here's the code: #!/bin/sh pattern=asd total=0 for f in * do && continue if grep $pattern $f >... (3 Replies)
Discussion started by: EmZvr
3 Replies

3. Shell Programming and Scripting

grep problem

Hi everyone i am facing a strange problem in grep below is the code RC=0 grep $ERROR_MASK $LOG_FILE 2>&1 > /dev/null && RC=1 || RC=0 what does the above statment do i mean it search for error mask into log file and redirect the error to console null then what's the meaning of RC=1 ||... (2 Replies)
Discussion started by: aishsimplesweet
2 Replies

4. UNIX for Dummies Questions & Answers

problem with grep

Hi I am trying to grep a string in a directory which is having 5000 files. PA>> grep -iH 'linc.unisure_pr13n' * bash: /usr/bin/grep: Arg list too long I am getting the error. i also tried PA>> ls -ltr | grep -iH 'linc.unisure_pr13n' * but still i am getting the error Please Advice... (4 Replies)
Discussion started by: subhotech
4 Replies

5. Shell Programming and Scripting

problem with grep |

Hi, When i try this it is not executing either result or total, pls can any one help me in this. max=month_134.log grep result|total $max > log.txt In month_134.log, it should contain either result or total and then send it to log.txt.It should execute result or total in log.txt ... (3 Replies)
Discussion started by: NehaKrish
3 Replies

6. Homework & Coursework Questions

Grep problem

Changed Problem its a sed actually... Use and complete the template provided. The entire template must be completed. If you don't, your post may be deleted! 1. The problem statement, all variables and given/known data: Use a sed command to create an output file from the input file. The input... (2 Replies)
Discussion started by: skalidindi
2 Replies

7. Shell Programming and Scripting

GREP problem

I have a problem. Suppose I have a log named transport.log >> tp finished with return code: 203 meaning: wrong syntax in tp call .... tp finished with return code: 0 meaning: Everything ok. << What i want to do is to get the return code of the 1st one. So I would probably do:... (2 Replies)
Discussion started by: kdyzsa
2 Replies

8. UNIX for Dummies Questions & Answers

Grep problem

Hi there, this is a very simple question. When I do grep -c "PWD" filename, I get 5. This means the filename contains 5 lines of "PWD" occurence. I tried to assign to a variable. int= grep -c "PWD" filename When I typed echo $int The output: 5 I get an empty line space. Now I... (1 Reply)
Discussion started by: felixwhoals
1 Replies

9. Shell Programming and Scripting

Grep Problem

I have a large file that I am grepping to find a certain string. grep 'C:\Data\Directory\Test.txt' test.txt It can not find it even though I know it is in there . I know that there is a problem with the backslashes but I can't get it to work. I tried grep... (2 Replies)
Discussion started by: lesstjm
2 Replies

10. UNIX for Dummies Questions & Answers

grep problem

Hi I would like to know wheather there is anyway to pass a variable to grep argument like this grep "$myvar" $myfile i would put this in a function and then call this function by setting different values to myvar and myfile. is this possible at all. regards Hrishy (4 Replies)
Discussion started by: xiamin
4 Replies
Login or Register to Ask a Question