Issue in shell script


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Issue in shell script
# 1  
Old 01-16-2016
Issue in shell script

Code:
item,quantity,unit price,total
tea,1,1,1
coffee,3,4,12
sugar,5,2.5,12.5
tea,2,1,3
coffee,2,4,8

i have got the above file with following questions:
need to get the total value: which i got using :
Code:
a=0
for b in `cut -f4 -d ',' log`
do
c=`echo $a + $b | bc`
a=$c
done
echo "$a and $c"

2. highest selling item in terms of quantity?
3.most orders item?

guys can you please with the same.

---------- Post updated at 09:32 PM ---------- Previous update was at 08:11 PM ----------

Code:
a=0
for b in `cut -f4 -d ',' log`
do
c=`echo $a + $b | bc`
a=$c
done
echo "Total sales for today is : $a"
                                                                                
                                                                                
cut -f1 -d ',' log |grep -v item| sort -u >> 1
for a in `cat 1`
do
touch $a
done
                                                                                
                                                                                
for a in `cat log`
do
b=`echo $a|cut -f1 -d ','`
c=`grep $b 1| wc -l`
if [ $c -ge 1 ]
then
echo $a >> $b
fi
done
 
for a in `cat 1`
do
c=0
for b in `cat $a |cut -f2 -d ','`
do
d=`echo $b + $c | bc` #expr $b + $c`
c=$d
done
echo "$a quantity with : $c" >> bhu_out
done
f=`cut -f2 -d ":" bhu_out | sort -r | head -1`
g=`grep $f bhu_out | cut -f1 -d ' '`
h=`grep $f bhu_out | cut -f2 -d ':'`
echo "$g is the highest selling item with quantity : $h"


Last edited by Scrutinizer; 01-16-2016 at 03:14 PM.. Reason: code tags
# 2  
Old 01-16-2016
Before you look at the script, spot the obvious mistake in the file:

Should be

tea,2,1,2
# 3  
Old 01-17-2016
And then, after you clean up the input data, please tell us what operating system and shell you're using. What you have is highly inefficient. If you tell us what operating system and shell you're using, we can suggest something faster and much more efficient using awk or shell built-ins (depending on your environment).
# 4  
Old 01-17-2016
Thank you very much for pointing out the mistake....

Operating system is red hat 9.0 and Aix 5.3...even I was thinking to use awk but was not sure of syntax....

Please suggest a better way..
# 5  
Old 01-17-2016
Is this homework, bhupeshchavan ?
# 6  
Old 01-17-2016
Please answer Scrutinzer's question: Is this homework?

If it isn't there are a few other questions that need to be answered:
  1. What shell are you using?
  2. Note that in your sample data, you have two items that have the same "highest quantity" sold and two other items that have the "highest number of sales transactions". How do you determine which should be given the "highest" label? (Or, more to the point, why don't you report all items with the same statistics when there is a tie?)
  3. You said you wanted your script to print three values. Are all of the files your script creates used for later processing? Or, are they just artifacts left over after your script completes?
  4. Could you please explain why you believe that the following code is needed in your script?:
Code:
	cut -f1 -d ',' log |grep -v item| sort -u >> 1
	for a in `cat 1`
	do
	touch $a
	done

This User Gave Thanks to Don Cragun For This Post:
# 7  
Old 01-18-2016
This is not a homework....

based on the logic i will another script which might have similar..as of now the request is not yet received.....

1. at home i have got bash...in office it is ksh..but it has be ksh complaint since
i will writing it in ksh later one.
2.missed out pointing if there is tie we need to report those as well....
3.the files which i created are used for my calculation to get the end result.....we need to delete them as the script as finished....need to add rm statement at the end of the script.
4.The code which you are referring will create a text file with all the unique item so that we can add similar item in those files and get the result....

note : we might have some other data for which we might have to use specific grep pattern....but since this is sample date or similar data that i will have deal with hence i m preparing for it...

Hope it helps.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Performance Issue - Shell Script

Hi, I am beginner in shell scripting. I have written a script to parse file(s) having large number of lines each having multiple comma separated strings. But it seems like script is very slow. It took more than 30mins to parse a file with size 120MB (523564 lines), below is the script code ... (4 Replies)
Discussion started by: imrandec85
4 Replies

2. Shell Programming and Scripting

Shell script issue

Below is my script. However when i run it, i get the below error ./dummy.sh: line 27: syntax error: unexpected end of file #!/bin/bash while : do read -r INPUT_STRING case $INPUT_STRING in test) echo "Please enter id no : " read... (4 Replies)
Discussion started by: chandraprakash
4 Replies

3. Shell Programming and Scripting

Issue in shell script variables

Hi, I have a file at $HOME/t.txt, below is file content cat $HOME/t.txt CUSTOMER_${REGION}.out Am using this file content in one script $HOME/samp.sh, below is the script #!/bin/bash REGION=USA x=`cat ${HOME}/t.txt` echo $x Am getting following output.. CUSTOMER_${REGION}.out ... (3 Replies)
Discussion started by: shieksir
3 Replies

4. Shell Programming and Scripting

Issue with shell script

I found a post from a user requesting help rounding numbers. The script provided by Scrutinizer works fine most of the time but it errors out when trying to round these numbers: 30224939 50872456 20753012 They have in common, a zero in the second digit from left to right. Can someone help... (1 Reply)
Discussion started by: Dennis_Ayala
1 Replies

5. Shell Programming and Scripting

Issue in TC Shell Script

I have a script in TC shell, for some reason its not working. I'm trying to kick off a script if there are any files in a particular directory "/sample/test3" Can anyone point out the issue in the same #!/usr/bin/tcsh while true do if ls /sample/test3 >& /dev/null ; then... (2 Replies)
Discussion started by: gaugeta
2 Replies

6. UNIX for Dummies Questions & Answers

Shell script emailing issue

Hi, Im writing a shell script: #!/bin/bash #Send process which has exceeded 25% # echo 'pri pid user nice pcpu command' > /export/home/tjmoore/file2 # if ps -eo pri,pid,user,nice,pcpu,comm | awk '{if($5 >= 25)print $0}' >> /export/home/tjmoore/file2 2>/dev/null # # # then... (1 Reply)
Discussion started by: jay02
1 Replies

7. Shell Programming and Scripting

Help me with following issue using shell script

Hi Folks, I am looking for a script where that should show the progress bar while running a process Ex: while copying a file of size say 2 GB it should start the process as (0 %) and at the end it should show (100%) Thanks in Advance Phani. (4 Replies)
Discussion started by: phanivarma
4 Replies

8. Shell Programming and Scripting

Issue with the shell script

hi , this script was devloped by somebody whome I dont know way back # cat run_ucid.sh #!/bin/csh # run_ucid.sh # # This is a simple shell script that will start an application in # the background and restart the application if it stops. Upon # termination an email message is sent and the... (2 Replies)
Discussion started by: viv1
2 Replies

9. UNIX for Dummies Questions & Answers

Issue with shell Script file

Hi, I created the following shell script file : bash-3.00$ more Unlock_Statistics1.sh #!/usr/bin/ksh ORACLE_SID=prsal02; export ORACLE_SID NLS_LANG=AMERICAN_AMERICA.AL32UTF8; export NLS_LANG sqlplus -s /nolog << EOF connect / as sysdba ; set serveroutput on size 1000000; execute... (1 Reply)
Discussion started by: jalpan.pota
1 Replies

10. Shell Programming and Scripting

Issue with a shell script

Hi All, I have an issue in writing the shell script to install a webserver on UNIX system. My shell script look something like this. ------------------------------------------------------------ echo "start of the script" #! /bin/sh cd /home/path echo | setup.hp -is:javaconsole -console... (4 Replies)
Discussion started by: vishalm
4 Replies
Login or Register to Ask a Question