Simple script


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Simple script
# 1  
Old 01-07-2009
Simple script

I have a script that will check for integer line by line and if it encounter any blank space will echo it:

Below the script:
Code:
#!/bin/ksh
while read i
do
echo "Value is $i"

count=`expr substr "$i" 1 3`
echo $count

if [ $count == 000 ] && [ "$i" != " " ]
then
echo "Matched"
else
echo "Blank Space Found"
fi

done < a2.txt

contents of a2.txt
Quote:
0001650111
<--------Blank Line-------->
----------------------------

having provlem when the script encounter the blank line in a2.txt.
Below the output:
Quote:
Value is 0001650111
000
Matched
Value is

./a9.sh[9]: test: argument expected
Blank Space Found

Last edited by ali560045; 01-07-2009 at 02:07 AM..
# 2  
Old 01-07-2009
Quote:
Originally Posted by ali560045
I have a script that will check for integer line by line and if it encounter any blank space will echo it:

Below the script:
Code:
#!/bin/ksh
while read i


If a line begins or ends with a space, that read command will strip it, and it will not be part of $i.

To capture leading and trailing spaces, set IFS to en empty string:

Code:
while IFS= read i

Quote:
Code:
do
echo "Value is $i"

count=`expr substr "$i" 1 3`


In a POSIX shell, there is no need to use expr

Code:
temp=${i#???}
count=${i%"$temp"}

Quote:
Code:
echo $count

if [ $count == 000 ] && [ "$i" != " " ]


The == operator is not standard; use =

The second test in unnecessary. If $count is 000, it cannot also be a space.

Better still, use a case statement:

Code:
case $i in
     000*) count=000;
esac

Code:

Quote:
then echo "Matched" else echo "Blank Space Found" fi done < a2.txt

Quote:

contents of a2.txt


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

having provlem when the script encounter the blank line in a2.txt.
Below the output:
Code:
Value is 0001650111
000
Matched
Value is

./a9.sh[9]: test: argument expected
Blank Space Found Value is 0001650111 000 Matched Value is ./a9.sh[9]: test: argument expected Blank Space Found

# 3  
Old 01-07-2009
still having the same problem not reading blank line.....below the script


Code:
#!/bin/ksh
while IFS= read i
do
echo "Value is $i"

#count=`expr substr "$i" 1 3`
#echo $count

temp=${i#???}
count=${i%"$temp"}
echo "$count"
if [ "$count" = "   " ]
then
echo "Blank Space Found"
else
echo "Value found"
fi


done < a2.txt

output:
Quote:
Value is 0001650111
000
Value found
Value is

Value found

Last edited by ali560045; 01-07-2009 at 05:43 AM..
# 4  
Old 01-07-2009
Quote:
Originally Posted by ali560045
still having the same problem not reading blank line.....below the script

You haven't tested for a blank line. You have tested for a line beginning with 3 spaces.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Simple script

I have to pull files from a customers cloud directory to our cloud directory periodically, the customer has the files in the new-version(nver) folder; which I am pulling via a python script. (python nver.py) customers cloud location: s3://custbucket/$nver/files Our cloud location:... (0 Replies)
Discussion started by: ramky79
0 Replies

2. Shell Programming and Scripting

Simple if script

Hi, new to unix and scripting, and i'm trying to set up a simple "if" script to create a seperate flag file dependant on success. So far i have the following ($5 is a variable passed to the script from the backup job) if then touch /u03/backups/backup_ended.flag else touch... (13 Replies)
Discussion started by: richs24
13 Replies

3. Linux

How to execute a simple select script using a shell script?

Hi team, I have two select statements and need to run them using SYSDBA user select * from temp_temp_seg_usage; select segment_name, tablespace_name, bytes/ (1024*1024) UsedMb from dba_segments where segment_name='TEMP_TEMP_SEG_USAGE'; Need to run this using a shell script say named... (1 Reply)
Discussion started by: pamsy78
1 Replies

4. Shell Programming and Scripting

Help making simple perl or bash script to create a simple matrix

Hello all! This is my first post and I'm very new to programming. I would like help creating a simple perl or bash script that I will be using in my work as a junior bioinformatician. Essentially, I would like to take a tab-delimted or .csv text with 3 columns and write them to a "3D" matrix: ... (16 Replies)
Discussion started by: torchij
16 Replies

5. Shell Programming and Scripting

Simple Script Can u help please?

I have a file that contains these lines User ID Username -------- ---------- 7738626,zrazak 7783535,jvincigu 7805567,ldrennan 7805583,mtsakama I need to sort the names alphabetically How can I sort the lines based on the user names ? I would appreciate a quick reply anyone ... (1 Reply)
Discussion started by: mnassiri
1 Replies

6. Shell Programming and Scripting

Simple Script to do so?

hi guys, i am a noob to shell scripting, and i would like to run a simple script, that could simply do the following: 1. SFTP to a remote server/path...and download the newest *.gz backup file on that server. (there are many *.gz files in that folder, i simply need the latest one) 2. locally... (1 Reply)
Discussion started by: Confidence
1 Replies

7. UNIX for Dummies Questions & Answers

Simple script

I am trying to print my script arguments, but i am stuck at the arrow pointed lines..please help #!/bin/bash echo "Number of arguments $#" count=1 while do echo ${$count} <======================== count = $(expr $count +1) <================== done (4 Replies)
Discussion started by: chvs2000
4 Replies

8. Shell Programming and Scripting

simple script

Hi, I just need a shell script to find out the processes taking longer time...(Unix/Linux) Urgent response needed.. Rajiv (5 Replies)
Discussion started by: rajivn786
5 Replies

9. Shell Programming and Scripting

Simple Script

Here is the script that i am trying to run. I get an error and i can't figure out what is the problem. #!/bin/bash echo "What is your name" read NAME if ; then echo "My name is the same" esle echo "You have a nice name" fi (11 Replies)
Discussion started by: xplod4202
11 Replies

10. UNIX for Dummies Questions & Answers

help with simple script

I need a script that checks to see if ypserv is running, and if not it will restart yp. I have a ypslave that is running Sol9, and the ypsrv daemon is dieing, I want to create a cron job that periodicly checks to see if it's running, and if it see's that it isn't, it will re-start the daemon (1 Reply)
Discussion started by: jdel80
1 Replies
Login or Register to Ask a Question