trying to write a script to loop through a port info file


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting trying to write a script to loop through a port info file
# 1  
Old 01-07-2008
trying to write a script to loop through a port info file

Below is part of a script i have written to loop through part of a port info file. How do i continue the script to get info for OS Device Name, manufacturer and then put information into an array?

HBA Port WWN: 10000000c9420b4b
OS Device Name: /dev/cfg/c10
Manufacturer: Emulex
Model: LP10000DC-S
Firmware Version: 1.92a1
FCode/BIOS Version: none
Type: N-port
State: online
Supported Speeds: 1Gb 2Gb
Current Speed: 2Gb
Node WWN: 20000000c9420b4b

#!/bin/ksh

PORT_INFOFILE=/tmp/aa

if [ -f $PORT_INFOFILE ]; then
rm -f $PORT_INFOFILE
touch $PORT_INFOFILE
fi

# read port info

fcinfo hba-port >> $PORT_INFOFILE 2>&1

cat $PORT_INFOFILE | while read line; do

x=`echo $line | grep "HBA Port"`
if [ -n $x ]; then
NEW_PORT="TRUE"
else
NEW_PORT="FALSE"
fi
# 2  
Old 01-07-2008
Here is simple framework you can work with.

Code:
#!/bin/ksh

cat data | while read one two
do
   case $one in 
      "HBA" ) echo "HBA is $two"
         ;;
      * ) echo "one=[$one] two=[$two]"
         ;;
   esac
done

$ ./parse.file
HBA is Port WWN: 10000000c9420b4b
one=[OS] two=[Device Name: /dev/cfg/c10]
one=[Manufacturer:] two=[Emulex]
one=[Model:] two=[LP10000DC-S]
one=[Firmware] two=[Version: 1.92a1]
one=[FCode/BIOS] two=[Version: none]
one=[Type:] two=[N-port]
one=[State:] two=[online]
one=[Supported] two=[Speeds: 1Gb 2Gb]
one=[Current] two=[Speed: 2Gb]
one=[Node] two=[WWN: 20000000c9420b4b]
# 3  
Old 01-07-2008
actually. this is even better and gives you an array like you wanted.

Code:
#!/bin/ksh

cat data | while read line
do
   set -A array $line
   echo "array[0]=${array[0]}"
   echo "array[1]=${array[1]}"
   # ... you get the point
   echo
done

# 4  
Old 01-07-2008
Quote:
Originally Posted by frank_rizzo
actually. this is even better
or this..

Code:
while read line
do
    ...
done <data

# 5  
Old 01-07-2008
Quote:
Originally Posted by porter
or this..

Code:
while read line
do
    ...
done <data

nice...I like it!
# 6  
Old 01-09-2008
cheers! thanks for the comments
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

How to write a Boolean variable which succeed and failed inside the if loop in shell script ?

I have if loop with multiple variable value check in if loop. How can i print only if loop satisfied variable and its value in shell script ? I dont want to check each variable in if loop. That makes my script larger. if ] then echo "Only satisfied variable with value" ... (3 Replies)
Discussion started by: prince1987
3 Replies

2. Shell Programming and Scripting

Script to loop line in a file and add info or do echo

I have a record.txt it will update weekly, and it could be 2 lines or more ... it just echo each line to the script san jose,23.34% tampa,2.15% dallas,30.20% seattle,44.29% Unknown,16.72% How do i write a shell script to give me a test.pl or bash file which contain #!/home/perl... (8 Replies)
Discussion started by: sabercats
8 Replies

3. UNIX for Dummies Questions & Answers

Unable to write to a file within a loop

Hi All, Following is the program that i have written in cygwin. The redirection of the unfound $param1 to error.txt file doesnt work.Can any one help? #!/usr/bin/sh fname=$1 sed 's/ //g' "$fname" > fname1 while read i do echo $i > file1 #param1 is script name ... (1 Reply)
Discussion started by: janardhanamk
1 Replies

4. Shell Programming and Scripting

Push records to array during implicit loop and write to file

NEWBIE ALERT! Hi, I'm 1 month into learning Perl and done reading "Minimal Perl" by Tim Maher (which I enjoyed enoumously). I'm not a programmer by profession but want to use Perl to automate various tasks at my job. I have a problem (obviously) and are looking for your much appreciated help.... (0 Replies)
Discussion started by: jospan
0 Replies

5. Shell Programming and Scripting

How to pull info under headers in file(awk,grep,while loop)

below is an extract from my file and I am trying to use Awk and grep and a while loop to pull infomation from under neath "HBA WWN=".HBA WWN=" reoccurs all over the file but the 100000c.....number are unique and I want to be able to pull and reference specifi information under this header ever time... (2 Replies)
Discussion started by: kieranfoley
2 Replies

6. Programming

how to write application for 32 com port

Dear Sir, i m going to use NP5610-16 moxa device for multiport serial communication. i m using fedora-core 6 o.s. after installation it will detect serial ports as /dev/ttyr0,/dev/ttyr1...ttyr32. there are total 32 com ports. now i want to write application which monitor all serial ports and... (6 Replies)
Discussion started by: amitpansuria
6 Replies

7. Shell Programming and Scripting

Loop through file and write out lines to file(s)

Hi, I am new to ksh scripting so your help will be much appreciated. I have a file called file.txt which looks like this Header 20050702 20050703 ABC DEF Header 20050703 20050704 123 456 Header 20050704 20050705 XXX YYY What I am trying to do is write out each of the record... (7 Replies)
Discussion started by: Jtrinh
7 Replies

8. UNIX for Dummies Questions & Answers

getting info from microannex connected to serial port A

Hi, is there a way to get information of an annex device connected to port A ? i need to get the I.P address of the annex and the port it connected to on the annex. dori (1 Reply)
Discussion started by: dorilevy
1 Replies

9. Filesystems, Disks and Memory

Parallel Port info?

is there a command so that i can se info about the parallel port, if there isn't a specific command for that is there a command so i can se info about the system and all ports and devices? Thanx /Nick (2 Replies)
Discussion started by: sajjan2
2 Replies
Login or Register to Ask a Question