04-01-2008
Alternative for a while read line loop
HELLO all
,
I have been trying to use a simple while loop to read a file " templist", line by line and perform an action. See the code below. The reason for not using a while read line loop is the for the use of the if condition that wouldn't work. I would appreciate some ideas as this has troubled me for a while. The trouble seems to be in the `sed -n "\$i p" templist` line since it doesn't recognize the increment. I have tried to use different quotation marks too.
Any suggestions? See the code below?
#!/bin/bash
ls -d */|sed 's/\///' > templist
c=`sed -n '$=' templist`
i="0"
while [ $i -le $c ] ; do
folder=`sed -n "\$i p" templist`
cd $folder
#check the que
#dealer1=`qstat | grep -c 'ta2'`
#if [ "$dealer1" -le "22" ] ; then
echo "in" > test
#fi
cd ..
i=$[$i+1]
done
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hi,
Can anyone please help me: i'm trying to read a file with directory-names , then go to that directory and read another (output) file to perform some tasks per line (second read line in the part of script below).
The problem is that after the nested while loop has finished, the first while... (7 Replies)
Discussion started by: Rakker
7 Replies
2. Shell Programming and Scripting
Hi All,
How can we use read line using the index value of a FOR loop?
eg:
pt_mstr,pt_status,8
pt_mstr,pt_buyer,8
pt_mstr,pt_sfty_stk,8
pt_mstr,pt_ord_pol,3
pt_mstr,pt_capacity,8
pt_mstr,pt_plan_ord,3
pt_mstr,pt_ord_mult,8
From this file i want to read the line2, 3 and 4 only using a FOR... (3 Replies)
Discussion started by: balajim
3 Replies
3. Shell Programming and Scripting
Hi I'm writing a bash script which will read an input file and look for occurrences of the current user ($USER) executing the script. When i find the occurrence of the username I take that line and append it to a file with a line number and bracket display next to line.
The input file has been... (12 Replies)
Discussion started by: BundBash
12 Replies
4. Shell Programming and Scripting
Hi
I am using while loop, below, to read lines from a very large file, around 400,000 rows. The script works fine until around line 300k but then starts giving incorrect result.
I have tried running the script with a smaller data set and it works fine. I made sure to include the line where... (2 Replies)
Discussion started by: saurabhkumar198
2 Replies
5. Shell Programming and Scripting
Hi,
I am trying to read a file line by line inside of a while loop. This while loop is part of a here document.
while read line
do
ssh -t $2@$remotehost <<REMOTE
ls path/to/dir > $path_to_dir
while read line1
do
echo "LINE --- $line"
done... (4 Replies)
Discussion started by: mnanavati
4 Replies
6. Shell Programming and Scripting
I have written a script to read the file line by line.
It is reading and printing the lines.
But it is coming out of loop before reading last line.
So I am not able to print last line.
How do I solve it. (6 Replies)
Discussion started by: dgmm
6 Replies
7. Shell Programming and Scripting
#!/bin/bash
count=1
while read line
do
if (($count > 4)); then
awk -v var1="$count" '{printf "%3s%8s%11s%11s%11s\n",var1,$2,$3,$4,$5}'
else
echo $line
fi
count=$((count+1))
done < posre_sub.itp > test
cat test
INPUT:
; position restraints for... (3 Replies)
Discussion started by: origamisven
3 Replies
8. Shell Programming and Scripting
Hi
As a newbe in scripting, i struggle hard with my first script.
What i want to do is, bringing data of two files together.
file1:
....
05/14/12-04:00:00 41253 4259 5135 5604 5812 5372
05/14/12-04:10:00 53408 5501 6592 7402 7354 6639
05/14/12-04:20:00 58748 6037 7292 8223... (13 Replies)
Discussion started by: IMPe
13 Replies
9. Shell Programming and Scripting
Hello,
I am using below code for reading from a file and assigning the values to a variable , but it is loosing the value after the loop , please suggest to retain the value of the variable after the loop ,
while IFS=: read -r line
do
set $dsc=$line
echo 'printing line variable ' $line... (1 Reply)
Discussion started by: ParthThakkar
1 Replies
10. Shell Programming and Scripting
Based on text file:
PATH:/media/hdd/Media/Video/title1 FILE:/media/cache/281662-14.jpg
PATH:/media/hdd/Media/Video/title2 FILE:/media/cache/281662-15.jpg
PATH:/media/hdd/Media/Video/title3 FILE:/media/cache/281662-16.jpg
PATH:/media/hdd/Media/Video/title4 FILE:/media/cache/281662-17.jpg... (12 Replies)
Discussion started by: TiedCone
12 Replies
break(1) User Commands break(1)
NAME
break, continue - shell built-in functions to escape from or advance within a controlling while, for, foreach, or until loop
SYNOPSIS
sh
break [n]
continue [n]
csh
break
continue
ksh
*break [n]
*continue [n]
DESCRIPTION
sh
The break utility exits from the enclosing for or while loop, if any. If n is specified, break n levels.
The continue utility resumes the next iteration of the enclosing for or while loop. If n is specified, resume at the n-th enclosing loop.
csh
The break utility resumes execution after the end of the nearest enclosing foreach or while loop. The remaining commands on the current
line are executed. This allows multilevel breaks to be written as a list of break commands, all on one line.
The continue utility continues execution of the next iteration of the nearest enclosing while or foreach loop.
ksh
The break utility exits from the enclosed for, while, until, or select loop, if any. If n is specified, then break n levels. If n is
greater than the number of enclosing loops, the outermost enclosing loop shall be exited.
The continue utility resumes the next iteration of the enclosed for, while, until, or select loop. If n is specified then resume at the n-
th enclosed loop. If n is greater than the number of enclosing loops, the outermost enclosing loop shall be used.
On this man page, ksh(1) commands that are preceded by one or two * (asterisks) are treated specially in the following ways:
1. Variable assignment lists preceding the command remain in effect when the command completes.
2. I/O redirections are processed after variable assignments.
3. Errors cause a script that contains them to abort.
4. Words that follow a command preceded by ** that are in the format of a variable assignment are expanded with the same rules as a vari-
able assignment. This means that tilde substitution is performed after the = sign, and also that word splitting and file name genera-
tion are not performed.
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
|Availability |SUNWcsu |
+-----------------------------+-----------------------------+
SEE ALSO
csh(1), exit(1), ksh(1), sh( 1), attributes(5)
SunOS 5.10 17 Jul 2002 break(1)