Good so far. You are making some typical beginners errors, though:
The outer "(...)" is superfluous, but the quoting is missing. Whenever a string might contain whitespace in a shell script you should quote it: first, to protect the whitespace from being interpreted away by the shell and second to make clear that the shell should not treat the whitespace as a separator.
Another thing is: you nowhere declare RESULT to be an array, but you treat it as one further down. Even if the shell allows for such liberty you should write your scripts as if it doesn't. In this case the outer braces are necessary but the subshell ("$(...)") isn't. The following should work:
This is working but a dangerous way to loop through an array. The shell has a maximum line length (see "limits.h") and works on a lin in this way: first, all the variables are scanned and replaced by their value. Then the resulting line is evaluated. Depending on how big the array RESULT is the line could be pretty long and this could result in the shell rejecting the line with "line too long". Use a while-loop with an index counter instead:
This is possible, but a time-killer. You issue the same command twice, every time using a different part of the output instead of doing it once. Here is a trick: "read" can read in not only one but several variables:
This will do the same as your two lines above.
You do this - use of backtics - a lot. You shouldn't. backtics are outdated and deprecated and only supported for backwards compatibility reasons. You should use the subshell-command instead:
Hi ,
I am trying a script which takes user input userid . I am stuck how to check whether that is a valid user id or not in the audit log files. My code is :
cd $CCP_AUDIT
cat * > /export/home/$USR/l***/files
echo "UserId:\c"
read UserId
#Date Function
echo "DATE : \c"
read xxx
I... (7 Replies)
Hi All,
Reference to my previous post
I need to compare all the lines in the file1 with file2
for this condition if file1 {$3,$5} ==file2 {$3,$5} then grep file2{$1}latest date.
need output in file3
10/04/2008
09/04/2008
09/04/2008
08/04/2008
can anyone suggest me
Thanks... (0 Replies)
Hello All,
I have been reading posts on here for a while, but this is my first post. I have a document in which many sentences appear, and I am piping it through an exterior script which will tag each word in the document with its part of speech (not part of my script, just background). The... (3 Replies)
Hi all,
I have the below script to get input but i cannot get grep to work.
input1.txt
AAAAAAAAG
input2.txt
>gi|184009.1| LEAFY-like |AAAAAAAAGSGGGDHLPY
However, when i use grep -f input1.txt input2.txt
i cannot get any output matches (note that the match is underlined).
Is it... (8 Replies)
:wall:
I have a requirement to search a log file that never rotates for certain values. If I find them I pipe them to a another file. To log file is constanyl being appened with new lines and never rotating Easy so far.
The problem is I dont want to pipe out matches already seen before. ... (3 Replies)
So this is what I'm trying to do:
I have a file called registry.txt which has a list of registry entries I want to search for.
I have another file called inctrl.txt on which I want to perform the search on.
Here's the example contents of registry.txt
SOFTWARE\Microsoft\Security... (3 Replies)
Hello everybody,
I have been searching it, but it seems I am unable to find the correct information, that s why I am asking you guys, hoping somebody get an idea.
Here is my problem :
I want a script to loop until a string is identified in a log file.
Here is the script :
#!/bin/sh... (5 Replies)
Hello -
I am running a script that is outputting to a log. Let call it output.log
I would like to monitor that log until the line "Build Successful" is found.
I think I would need to use the grep command.
How would I do that in a loop?
Thanks
Marty (1 Reply)
Hello,
I have built the following script to check if processes supplied by the argument are running or not.
#!/bin/bash
PROCLIST=$1
PROCESS="0"
ERROR_PROCS=""
IFS='+'
read -ra ADDR <<< "$PROCLIST"
for PROC in "${ADDR}"; do
if ; then
PROCESS=1
... (9 Replies)