Shell script help: not working as I like


 
Thread Tools Search this Thread
Homework and Emergencies Homework & Coursework Questions Shell script help: not working as I like
# 1  
Old 11-24-2017
Shell script help: not working as I like

Student just starting to learn shell script
I have file named

smallFile

Code:
John:Doe:ECE:3.54:doe@jd.home.org:111.222.3333
James:Davis:ECE:3.71:davis@jd.work.org:111.222.1111
Al:Davis:CS:2.63:davis@a.lakers.org:111.222.2222
Ahmad:Rashid:MBA:3.74:ahmad@mba.org:111.222.4444
Sam:Chu:ECE:3.68:chu@sam.ab.com:111.222.5555
Arun:Roy:SS:3.06:roy@ss.arts.edu:111.222.8888
Rick:Marsh:CS:2.34:marsh@a.b.org:111.222.6666
James:Adam:CS:2.77:jadam@a.b.org:111.222.7777
Art:Pohm:ECE:4.00:pohm@ap.a.org:111.222.9999
John:Clark:ECE:2.68:clark@xyz.ab.com:111.111.5555
Nabeel:Ali:EE:3.56:ali@ee.eng.edu:111.111.8888
Tom:Nelson:ECE:3.81:nelson@tn.abc.org:111.111.6666
Pat:King:SS:2.77:king@pk.xyz.org:111.111.7777
Jake:Zulu:CS:3.00:zulu@jz.sa.org:111.111.9999
John:Lee:EE:2.64:jlee@j.lee.com:111.111.2222
Sunil:Raj:ECE:3.36:raj@sr.cs.edu:111.111.3333
Charles:Right:EECS:3.31:right@cr.abc.edu:111.111.4444
Diane:Rover:ECE:3.87:rover@dr.xyz.edu:111.111.5555
Aziz:Inan:EECS:3.75:ainan@ai.abc.edu:111.111.1111
Lu:John:CS:3.06:lu.john@xyz.org:111.333.1111
Lee:Chow:EE:3.74:chow@lc.www.ord:111.333.2222
Adam:Giles:SS:2.54:giles@cric.org:111.333.3333
Andy:John:EECS:3.98:john@aj.ece.edu:111.333.4444

Display lines, with line numbers, records of CS majors.

Code:
grep -n '\<CS\>' smallFile

Shell Script:* *Pick one of the grep commands that you created above.* Put that grep command in a shell script.* The name of the shell script is your choice. Run the shell script.*
Turn in the contents of the shell script and the output of the shell script run.

the shell scripts name is CS_STUDENTS code is

Code:
CS_STUDENTS=$(grep -n '\<CS\>' smallFile)

echo $CS_STUDENTS

I get some thing like this

Code:
:~> \. CS_STUDENTS
3:Al:Davis:CS:2.63:davis@a.lakers.org:111.222.2222 7:Rick:Marsh:CS:2.34:marsh@a.b.org:111.222.6666 8:James:Adam:CS:2.77:jadam@a.b.org:111.222.7777 14:Jake:Zulu:CS:3.00:zulu@jz.sa.org:111.111.9999 20:Lu:John:CS:3.06:lu.john@xyz.org:111.333.1111

(purposely left out of a code box to get the appearance as close to as I actually got)
Moderator's Comments:
Mod Comment CODE tags inserted by moderator. Leaving out the CODE tags never makes clear what you are seeing on your terminal; it just hides where output might contain multiple adjacent spaces and/or tabs, hides line breaks or lack thereof, hides leading spaces and tabs on all lines, and converts tabs to spaces.


I believe I need a out come to look like this
Code:
:~> \. CS_STUDENTS
3:Al:Davis:CS:2.63:davis@a.lakers.org:111.222.2222 
7:Rick:Marsh:CS:2.34:marsh@a.b.org:111.222.6666 
8:James:Adam:CS:2.77:jadam@a.b.org:111.222.7777 
14:Jake:Zulu:CS:3.00:zulu@jz.sa.org:111.111.9999 
20:Lu:John:CS:3.06:lu.john@xyz.org:111.333.1111

I have tried modifying the shell script several times and no luck

this is only the second shell script I have done what should I change in the shell script

Waubonsee Community College
Sugar Grove Illinois
Professor: Tim Lippold
Linux/UNIX Operating System CIS180
Book being used is Harley Hahn's Guide to Unix and Linux


Note: Without school/professor/course information, you will be banned if you post here! You must complete the entire template (not just parts of it).
# 2  
Old 11-24-2017
There are sometimes reasons to store output from a pipeline in a variable and then print the contents of the variable, but you haven't shown us any reason to do that here. Why are you using a variable?

It is ALWAYS a good idea to tell us what operating system and shell you're using when you start a thread in the UNIX & Linux forums. Although most BSD, Linux, and UNIX system commands produce similar output when using common tools and options, there are variations. Knowing what OS and shell you're using helps us avoid suggesting code that will not work in your environment.

If you take your code:
Code:
CS_STUDENTS=$(grep -n '\<CS\>' smallFile)

echo $CS_STUDENTS

and change it to:
Code:
CS_STUDENTS=$(grep -n '\<CS\>' smallFile)

echo Unquoted:$CS_STUDENTS
echo 'Single-Quoted:$CS_STUDENTS'
echo "Double-Quoted:$CS_STUDENTS"

what happens?

You may want to look at the man page for your shell and search for a section titled "Quoting" to see how single-quotes, double-quotes, and back-quotes affect command-line arguments.
# 3  
Old 11-25-2017
Aside comment: It's not recommended to have identical names for scripts, functions,variables, and / or commands.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Installer is shell script not working

Hi Guys, I have one installer shell script which normally get from the dev team to install the app and it works fine for years (in IAX) the same installer/script iam trying to run in Linux 7.2 but it stuck somewhere which I cannot debug, can you help me to point out where it stuck . here is the... (9 Replies)
Discussion started by: Riverstone
9 Replies

2. Shell Programming and Scripting

Cp not working in shell script but running perfectly from shell

Dear All, I have script. Dest="" IFS=' ' for translation in $(echo $MY_MAP) do t1=$(echo $translation | cut -d"=" -f1) t2=$(echo $translation | cut -d"=" -f2| cut -d"," -f1) if then Dest=$UNX/$u_product_path/$u_study_path/$UNXTR/$t2 break; ... (4 Replies)
Discussion started by: yadavricky
4 Replies

3. Shell Programming and Scripting

Shell script not working

. /home/bscs6/.kshrc set -x monthy=`date +%m` daty=`date +%d` yeary=`date +%Y` cd /home/bscs6/scripts sqlplus sysadm/sysadm@SEGODI @lms_profile.sql mv /home/bscs6/scripts/lmsprofile.log /home/bscs6/scripts/LMS_PROFILE_DUMP_$daty$monthy$yeary.txt gives me the error below: LMS_PROFILE.sh:... (3 Replies)
Discussion started by: malefho
3 Replies

4. Ubuntu

Shell script not working accordingly

loop=y while do clear tput cup 5 15 echo -n "People Database" echo -n "====================================" tput cup 8 12 echo -n "L-Print Last Names" tput cup 9 12 echo -n "F-Print First NAmes" tput cup 10 12 echo -n "C-Print First Name, Last Name sorted by city" tput cup 11 12... (3 Replies)
Discussion started by: Akhilaprabhakar
3 Replies

5. Shell Programming and Scripting

expect script inside shell script not working.

Shell Scipt: temp.sh su - <$username> expect pass.exp Expect script: pass.exp #!/usr/bin/expect -f # Login ####################### expect "Password: " send "<$password>\r" it comes up with Password: but doesnt take password passed throguh file. (2 Replies)
Discussion started by: bhavesh.sapra
2 Replies

6. UNIX for Dummies Questions & Answers

shell Script working

i wrote a shell program in Home Directory. and i changed to other directory. i want to try to execute shell script in Other Dir. it is not executed. how can i make this script to execute in other directory also?? Thanks, Arun (11 Replies)
Discussion started by: arun508.gatike
11 Replies

7. Shell Programming and Scripting

ftp in shell script is not working

Hi All, I have writtern a shell script which has a sql query. I want to send the results of sql query to a shared area over a network.I also want to log the errors in a log file if the text file is not sent to shared area. The results of sql query are spooled in TEMPFILE. LOGFILE... (1 Reply)
Discussion started by: nsachin
1 Replies

8. Shell Programming and Scripting

Perl script 'system' linking to local shell script not working

Trying to figure out why this works: printpwd.pl #!/usr/bin/perl use CGI::Carp qw( fatalsToBrowser ); print "Content-type: text/html\n\n"; $A = system("pwd"); $A = `pwd`; print "$A\n"; ^^actually that works/breaks if that makes any sense.. i get the working directory twice but when... (5 Replies)
Discussion started by: phpfreak
5 Replies

9. Shell Programming and Scripting

shell script is not working..

Dear all, I am writing simple shell script. #/bin/bash ORACLE_HOME=/home/app/oracle/product/9.2.0 export ORACLE_HOME export ORACLE_SID=DATX $ORACLE_HOME/bin/sqlplus -s datadmin/password <<EOF execute testproc; exit; EOF ~ ~ In the above shell script, the oracle instance name is... (2 Replies)
Discussion started by: govindts
2 Replies

10. Shell Programming and Scripting

Shell script is not working...

Hi All, I have oracle 9i and 10g on unix. now i have 920.env and 1020.en file to set p respective enviornment. when I excecute this commnad . $HOME/920.env from the shell prompt it is working fine. and also same for 1020.env . Now same command . $HOME/920.env i am putting in shell... (2 Replies)
Discussion started by: vishalpatel03
2 Replies
Login or Register to Ask a Question