Say I have a for loop that parse through a file....Say it look for the colors red and blue in sections of the file. Say it find red before it find blue in the file.
Say I have two if statements in the for loop
Something like if blue is found print blue is my favorite color is the first if statement.
A second if statement if red is found print red is my favorite color.
Considering my if statements are in the opposite order of the colors found in the file which if statement get printed first and why?
I don't think that's what I said at all. If you are reading the file sequentially, you'll always get whatever color comes first, regardless of the order in which you process it.
Or maybe I'm not grasping your question. It seems straight forward, but it is late, and I maybe need some sleep!
Code:
$ cat file
red
green
blue
Code:
for color in line; do
[ "$color" = red ] && echo "I found red"
[ "$color" = blue ] && echo "I found blue"
done < file
Code:
I found red
I found blue
Code:
for color in line; do
[ "$color" = blue ] && echo "I found blue"
[ "$color" = red ] && echo "I found red"
done < file
I don't think that's what I said at all. If you are reading the file sequentially, you'll always get whatever color comes first, regardless of the order in which you process it.
Or maybe I'm not grasping your question. It seems fairly simple, but it is late, and I maybe need some sleep!
Code:
$ cat file
red
green
blue
Code:
for color in line; do
[ "$color" = red ] && echo "I found red"
[ "$color" = blue ] && echo "I found blue"
done < file
Code:
I found red
I found blue
Code:
for color in line; do
[ "$color" = blue ] && echo "I found blue"
[ "$color" = red ] && echo "I found red"
done < file
Code:
I found red
I found blue
Scott,
Is the reason this work this way is because the for loop is processing one color at a time before moving to the next color?
Yes. It works this way because you are reading a file (sequentially) and processing it as it comes.
if you find red, process that if you find blue, process that
Yields the same results as
if you find blue, process that if you find red, process that
if you're processing the same file.
If you were to read the entire file first, and store it somewhere, then the order of the processing would matter.
e.g.
Code:
for color in line; do
[ "$color" = red ] && foundred=y
[ "$color" = blue ] && foundblue=y
done < file
[ "$foundred" = y ] && echo found red
[ "$foundblue" = y ] && echo found blue
Code:
found red
found blue
Would be different with...
Code:
for color in line; do
[ "$color" = red ] && foundred=y
[ "$color" = blue ] && foundblue=y
done < file
[ "$foundblue" = y ] && echo found blue
[ "$foundred" = y ] && echo found red
Hello, how in bash i can get directory loop and order by creation date?
THX! :)
#!/bin/bash
for folder in /home/test/*
do
if ; then
echo $folder;
fi (12 Replies)
Bash shell, variables i and rem are working fine in 2 separate for loops, but I'd like to consolidate them like this:
for && This gives syntax error on &&.
Thanks in advance for direction. (5 Replies)
Hi there,
How can I loop through files with order.
I tried using ls .html | sort -v
However the filename is with spaces:1233.61.47.0 - 121.61.123.112 nexpose.html
Here is the original code that is working well, but I need to sort through the filename.echo "<center>"
for file in *.html... (2 Replies)
Can you give me some suggestions to split below string into three parts using shell scripts.. Script has to print all alphabets before the number, then number and then all alphabets after the number..
input: chris martin 200173 845747 mech engineer
output: chris martin 200173 845747 mech... (6 Replies)
Hi All,
can you tell me how to drop all preceding zeros in a number. For example, if i have a numbers like 000876838347 and 0000007854762543..how to make them as 876838347 and 7854762543. (6 Replies)
HI Unix Gurus,
I have a number of SELECT count(*) statements in an input file and I want to execute it using a shell script but one by one using loop in script....
How can I do this..... (7 Replies)
Hi,
Actually i stored all validdisks in one array and corresponding partitions required for all individual disks in other array..
Example:
Validdisks=dsk2 dsk3 dsk5
ValidPartition=4 4 3
Now i have to create domain..
Domain creation can be done by below commands:
fs_setup -d... (1 Reply)
New to scripting in general, so patience plz. If I ask a stupid question or don't get it, I thank you for your kindness in advance.
That said, did a for i loops checks to see if a PB* file is there but I need to know two things before I copy the file.
I need to know if the file's create date... (2 Replies)
Hi
I have a tab delimited file with 3 fields. I need to sort this file on the first field and remove all the records where the first field has dulplicates. For eg my file is
133|arrfdfdg|sdfdsg
234|asfsdgfs|aasdfs
133|affbfsde|dgfg
When this file gets sorted I need the result to be ... (2 Replies)
Hi All,
Query 1 :
I want to know how we can get a count of multipe occurrences of a particular expression in another string.
For Eg. If my string is " 12" and i need to count the number of spaces preceeding 12
Query 2 :
Also want to know how we can change the alignment of a... (9 Replies)