Sponsored Content
Top Forums Shell Programming and Scripting Is there a better way I could have run this loop. (For loop with two variables) Post 302301448 by DeCoTwc on Thursday 26th of March 2009 11:09:51 PM
Old 03-27-2009
Is there a better way I could have run this loop. (For loop with two variables)

Sorry for such a dreadful title, but I'm not sure how to be more descriptive. I'm hoping some of the more gurutastic out there can take a look at a solution I came up with to a problem, and advice if there are better ways to have gone about it.

To make a long story short around 20K pieces of equipment de-registered, and the only way to re-register them relies on using a manual script that needs the equipments MAC address and IP address. Unfortunately there is no current way to run the script against a file with the information. So I decided that a loop would be the best way to go about it.

What I wound up doing was creating a pipe delimited file with the equipment info, and running the following against it:

Code:
[mystro@mys-nycnm-srv01 scripts]$ head -5 IP
00:0F:21:FE:29:67|10.130.192.173
00:0F:21:FE:2D:57|10.140.66.207
00:0F:21:FE:2E:21|10.153.200.37
00:0F:21:FE:2E:88|10.141.146.134
00:0F:21:FE:2E:CA|10.157.206.8

[mystro@mys-nycnm-srv01 scripts]$ for i in `cat IP`;do mac=$(echo "$i"|cut -f1 -d\|);ip=$(echo "$i"|cut -f2 -d\|);/usr/local/mystro/scripts/mdiags cid reg $mac $ip;done

It worked perfectly, but as I'm (obviously) not the most skilled scripter I always like to hear critiques from more experienced people.

IE: Should I have not used echo...is there an easier way to isolate the info than cut...etc.
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

using variables outside a while loop

Hi Guys, I have a scripts that uses a while loop to read a file and set 2 variables. How can I do this so the variables can be used outside the while loop ? Below is an example....# ./junk2 -m -e user EXE=user master=TRUE DB_TAG=PRODUCT In loop MST=MST=testsvr1:3110 In loop ARGS=... (2 Replies)
Discussion started by: Tornado
2 Replies

2. Shell Programming and Scripting

Using variables created sequentially in a loop while still inside of the loop [bash]

I'm trying to understand if it's possible to create a set of variables that are numbered based on another variable (using eval) in a loop, and then call on it before the loop ends. As an example I've written a script called question (The fist command is to show what is the contents of the... (2 Replies)
Discussion started by: DeCoTwc
2 Replies

3. Shell Programming and Scripting

SH: two variables in for loop

Hi, say I have a simple sh script like this: for i in a b c d do for j in 1 2 3 4 do echo "$i $j" done done and the output is a 1 a 2 a 3 a 4 b 1 (20 Replies)
Discussion started by: marcpascual
20 Replies

4. Shell Programming and Scripting

Two variables in a for loop

Can we assign two variables in a for loop? I have an input file: 000301|20100502 835101|20100502 I want to read this file in a for loop and assign values to two different variables. I did this now but did not work for STORE,RUNDATE in `awk -F\| '{print $1,$2}' inputfile ... (4 Replies)
Discussion started by: gpaulose
4 Replies

5. Shell Programming and Scripting

Need help in for loop with 2 variables

Hi, I need help on for loop need to add domain and IP In domain list 1.com 2.com 3.com In Ip list 1.1.0.1 1.2.0.1 1.3.0.1 1.com 1.1.0.1 2.com 1.2.0.1 3.com 1.3.0.1 I need to excute this command (4 Replies)
Discussion started by: ranjancom2000
4 Replies

6. Shell Programming and Scripting

Help with a For loop and variables

Greetings. I'm completely new to shell scripting and quickly trying to catch on. Here's my scenario: I have a text file, named ip.txt, containing IP addresses. I want to automatically perform a whois query on each address in the file, search the output for the country, and then put both the IP... (4 Replies)
Discussion started by: molnir
4 Replies

7. Shell Programming and Scripting

for loop with 2 variables

i am having a file contants as below my requirement is for file in `awk -F "," '{print $8,$9}'` <temp.txt echo "$file" echo "$file">test.txt a=`awk -F "," '{print $1}' `<test.txt b=`awk -F "," '{print $2}' `<test.txt but script reads , i want both the vales for further... (5 Replies)
Discussion started by: sagar_1986
5 Replies

8. Shell Programming and Scripting

Need to loop three variables

Hi, I have a out from a command i need to grep a report. For that i need loop 3 variable for that. How i can loop need help. Symmetrix ID : 123456 Masking View Name : Host16 Last updated at : 04:13:06 PM on Thu Mar 17,2011 Initiator Group Name : Host16 Host... (3 Replies)
Discussion started by: ranjancom2000
3 Replies

9. Shell Programming and Scripting

Loop through variables

I am pretty new to Unix. Trying to pick up some slack while a coworker is out on vacation. Basically the script is working fine however when I go through the testing phase and have to make mods it is a pita. Here is an example of what I have #!/bin/ksh if then echo... (8 Replies)
Discussion started by: biobill
8 Replies

10. Shell Programming and Scripting

Help with variables in loop

Hello, please assist: users="test1 test2" keytest1="abcd" keytest2="dbcd" for i in $users do echo "$key${i}" > fileout done So, my objective is to take the current user (ie test1) in loop and echo its associated keyname (ie keytest1) variable to a file. The echo... (2 Replies)
Discussion started by: motdman
2 Replies
smd-loop(1)						 Sync Mail Dir (smd) documentation					       smd-loop(1)

NAME
smd-loop - iterates smd-pull and smd-push SYNOPSIS
smd-loop [-vt] DESCRIPTION
smd-loop runs smd-push and smd-pull at regular intervals as defined by the user in the ~/.smd/loop configuration file. On errors that are reported to be transient, it retries a second time before failing. The configuration file is line-oriented. Each line is composed of three space separated fields: pull-frequency, push-frequency and end- point-name. Frequencies are expressed in minutes, while endpoint name is a valid name for smd-pull(1) and smd-push(1). Lines beginning with # are considered as comments. The following example calls the command smd-pull default every 3 minutes, and smd-push default every 10. Example: # pull-frequency push-frequency endpoint-name 3 10 default OPTIONS
-v Increase program verbosity (printed on stderr) -t Just create a template configuration file if none FILES
~/.smd/loop SEE ALSO
mddiff(1), smd-server(1), smd-client(1), smd-push(1), smd-pull(1) AUTHOR
Enrico Tassi <gares@fettunta.org> 11 June 2012 smd-loop(1)
All times are GMT -4. The time now is 07:17 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy