$ cat test.sh
FA=("one" "two" "@" "four" "@" "six")
for i in ${!FA[@]}
do
if [ '@' = "${FA[$i]}" ]; then
echo "Found @ at index $i"
fi
done
$ test.sh
Found @ at index 2
Found @ at index 4
array 0 = First Last
array 1 = 123 some road
array 2 = some unit
array 3 = citySTATEZIP
array 4 = (111) 222-1111
array 5 = (111) 222-1112
array 6 = Fax:(111) 222-1113
array 7 = user@domain.com
array 8 = #:123456
The next problem is this data set (members 5-6) may or may not appear.
So algorithmically speaking and where I am getting stuck...
Next step:
1. search array for email address (using the @ symbol here to keep things simple)
Then I am going to use conditional / control flow statements using the position of the email address to further parse the data.
Not sure if this helps, but wanted to add some context.
Thanks in advance, for any help.
Moderator's Comments:
As requested before, use CODE tags; not ICODE tags for multi-line code, input, and output samples.
Last edited by Don Cragun; 08-26-2013 at 01:42 AM..
Reason: Change ICODE tags to CODE tags where appropriate.
while read line
do
array+=("$line")
done < "$temporary_file"
This is the basic idea, but not working at the moment.
It just seems to be returning "No such file or directory"
for each array member
Code:
for (( i = 0 ; i < "${#array[@]}"; i++ )); do
if grep "@" "${array[$i]}"; then
echo "${array[$i]}"
fi
done
The code that you have is looking for lines containing @ in the files named by lines in the file named by the expansion of the shell variable temporary_file. Presumably you're getting error messages because the lines in your file are not names of files to be searched.
If what you want to do is print lines in the file named by $temporary_file that contain an @, that would much more simply be done by:
Code:
grep '@' "$temporary_file"
If you want a way to determine if the expansion of a shell variable ($x in this example) contains an @ using only features that are available in all standards conforming shells, you could try something like:
Code:
if [ "${x#*@}" = "$x" ]
then echo 'no @ found'
else echo '@ found'
fi
Trying to do some control flow parsing based on the index postion of an array member. Here is the pseudo code I am trying to write in (preferably in pure bash) where possible. I am thinking regex with do the trick, but need a little help.
pesudo code
if == ENDSINFIVEINTS ]]; then
do... (4 Replies)
Hello,
I'm trying to write a script in Bash to assist in pentesting. Essentially I'm looking to use a script to search for some terms in a log file and then send that key information into another file.
The log files consist of HTTP and SSL information that someone creates while browsing and... (2 Replies)
without using conventional file searching commands like find etc, is it possible to locate a file if i just know that the file that i'm searching for contains a particular text like "Hello world" or something? (5 Replies)
Hi ,I have seen this comverters before ,but I was searching today and I can not find them .Is anybody used them before .Any recomendations
Thanks (5 Replies)
HI Bruce from Central PA
I have never used Unix but am sick of Microsoft so want to learn it.
I use to own a computer store front and training center and stated our with Atari, Commodore and the 1st PC and MS/DOS then Windows
BUT sick of Microsoft controlling the computer industry.
... (2 Replies)
Hi,
Here is a tough requirement , to be served by bash script.
I want to perform 3,00,000 * 10,000 searches.
i.e. I have 10,000 doc files and 3,00,000 html files in the file-system. I want to check, which of the doc files are referred in any html files. (ex- <a href="abc.doc">abc</a>)... (3 Replies)
Hi,
I have a file that contains thousands of records. Each record starts with "New Record". I need to search this file based on a given value of "timestamp" and write all the records that match this timestamp into a new file.
I was able to locate the existence of a given value of timestamp using... (10 Replies)
Hi,
I am writing a bash shell script. I would like to execute a statement only if an array contains a specific value. For example:
array=(1 3 5 7)
I would like to execute the statement only if the value 3 is present in ${array}.
Thanks for any help,
Mike (1 Reply)
brothers and sisters
iam a new member of your respectful forum
hope to accept me
i really would like to an expert in unix and linux
so please tell me how could ?
and what i should have ?
i want to make my project in these subject
but i dont know what to do
and which... (12 Replies)