How to read values and store in array?


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting How to read values and store in array?
# 15  
Old 07-25-2012
Could you provide the results/error messages? As clx points out, the -i option to grep makes case irrelevant, so it should find the keywords regardless of case. Even different white space around "task started" does not matter...

You can even leave out the "E"xtended regexp option in my proposal, it's redundant.

---------- Post updated at 12:44 PM ---------- Previous update was at 12:10 PM ----------

To me, the problem seems to be: your entries in pattern.list do NOT match the lines in sri1.log:
pattern.list:
Code:
B678C56D-96DA-4FFC-B40E-9A032A2EB12E| xengine:CERR to ECR CF

sri1.log:
Code:
B678C56D-96DA-4FFC-B40E-9A032A2EB12E          | xengine:CERR to ECR CF

So you would have to adapt either... maybe allow for some regexp in pattern.list?
# 16  
Old 07-25-2012
Do the spaces matter during grep??

According to me the problem is in matching the word "Task started"

Since i tried matching with some other pattern in pattern.list

Do we have any other method of doing that?
# 17  
Old 07-25-2012
Quote:
Originally Posted by Prachi Gupta
Do the spaces matter during grep??
Yes. In your case, grep would try to search for the exact string you would pass with-in double quotes.


I you are not sure about the spaces and cases of the string, use the regular expression search. something like below..
Code:
grep -E '[Tt]ask +[Ss]tarted' ...

If the logs/text are generated by an automated process the text MUST be same always !!
# 18  
Old 07-26-2012
I have multiple conditions to check.
So i am using different loops to check each condition
I have 3 arrays
Code:
Remitid
Taskid
comp

I want to check file Sri1.log if it has the values stored in these arrays one by one. Means firstly for 1 value of Remitid it has 1st value of Taskid and then 1st value of comp array and then fetch value from array which has word task started

The code I have written is
Code:
while var1 in "${Remitid[@]}"
do
	for var2 in "${Taskid[@]}"
	do
		for var3 in "${comp[@]}"
		do
			while read var4
				grep 
			done < Sri1.log
		done
	done
done

But i don't know what to write in "grep". How to use all variables along with "Task started"

Please help
# 19  
Old 07-26-2012
Try this:
dropping the
Code:
while read var4     grep      done < Sri1.log

in your last example use
Code:
grep -Ei "task started.*($var1|$var2|$var3)" sri1.log

plus cut'ting the respective fields you need. This proposal relies on "task started" being positioned left to all variable's data. If that does not work, please provide all details in your files, arrays, error msgs, what have you.

btw, your first "while" should be a "for"

Last edited by RudiC; 07-26-2012 at 09:10 AM.. Reason: another error in prev example
# 20  
Old 07-27-2012
I tried running the script but it is giving error
Code:
Unable to initialize device PRN

What does this mean??
# 21  
Old 07-27-2012
WHAT? This seems to be a Windows error message to me. And - the script snippet you provided does not deal with PRN. Please show the location of occurrence in your script.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

awk loop using array:wish to store array values from loop for use outside loop

Here's my code: awk -F '' 'NR==FNR { if (/time/ && $5>10) A=$2" "$3":"$4":"($5-01) else if (/time/ && $5<01) A=$2" "$3":"$4-01":"(59-$5) else if (/time/ && $5<=10) A=$2" "$3":"$4":0"($5-01) else if (/close/) { B=0 n1=n2; ... (2 Replies)
Discussion started by: klane
2 Replies

2. UNIX for Dummies Questions & Answers

How to store/read multiple values from a varible

Hi, when I enter 'ps -ef| grep process_name'/'psu | grep process_name', i am getting multiple number of lines output( i mean multiple no of processes).how can i store it one by one and echo it in the same way(one by one). part of script is var1=$(remsh hostname -l username ps -ef|grep... (2 Replies)
Discussion started by: jeanzibbin
2 Replies

3. Shell Programming and Scripting

Store the output values in array

Hi, How to store the values in array from output result, EG: I have the result like this, ps, google, 1.txt, 1 sam, google, 2.txt, 2 These are the four values followed by comma in two sets. I need to store these values set by set. One set contains four values followed by comma. ... (2 Replies)
Discussion started by: KarthikPS
2 Replies

4. Shell Programming and Scripting

Store values from a file into an array variable in Shell

Dear All, I have been trying to do a simple task of extracting 2 fields from the file (3 rows) and store it in an array variable. I tried with: #! /bin/bash ch=`cut -f10 tmp.txt` counter=0 for p in $pid do c=${ch} echo "$c ..$counter" counter=$((counter+1))... (2 Replies)
Discussion started by: ezhil01
2 Replies

5. Shell Programming and Scripting

Not able to read unique values in array

Hi Friends, I am having some trouble reading into an array. Basically, I am trying to grep for a pattern and extract it's value and store the same into an array. For eg., if my input is: <L:RECORD>name=faisel farooq,age=21, company=TCS,project=BT</L:RECORD> <L:RECORD>name=abc... (1 Reply)
Discussion started by: faiz1985
1 Replies

6. Shell Programming and Scripting

Store values in an Array

Hi all. Well, I have the next code: I need to make an array with the values I have in the bucle, but just don't get it... Question is, how can I store in an array that values, and how can I display them with echo? (8 Replies)
Discussion started by: crcbad
8 Replies

7. Shell Programming and Scripting

Read textfile and enter the values in array

Hi, I want to put values in .txt file into array. Example : $vi repo.txt abc def ghi jkl mno pqr i want the output to be like this: $echo ${mydf} abc $echo ${mydf} def $echo ${mydf} ghi (3 Replies)
Discussion started by: luna_soleil
3 Replies

8. UNIX for Dummies Questions & Answers

trouble using read to store values in variables from command output

I know there are caveats about using read in pipelines because read is treated by a subshell. I know this but I can't think of any way to accomplish this regardless, I'm still a rookie. I hope somebody will be able to interpret what it is that I'm trying to accomplish and correct me. ... (2 Replies)
Discussion started by: ProGrammar
2 Replies

9. UNIX for Dummies Questions & Answers

How to store the values in a file into an array

Hi, I do have a file and the contents are as follws: 10 20 30 40 50 Now I want to store those values into an array. How can be done this ?? (3 Replies)
Discussion started by: risshanth
3 Replies

10. UNIX for Advanced & Expert Users

how do I store the values in array using shell

Hi, Is is possible to get the value using shell script? x=1 y1 = 10 y2 = 15 y3 = 7 echo $y$x is giving y1 (variable name) but I need the value of y1 (i.e. 10 dynamically) Is there any solution? if so, please mail me at kkodava@maxis.com.my ... (2 Replies)
Discussion started by: krishna
2 Replies
Login or Register to Ask a Question