Sponsored Content
Top Forums Shell Programming and Scripting Array output through a for loop problematic with multiple elements. Post 302560768 by Azrael on Saturday 1st of October 2011 03:17:23 AM
Old 10-01-2011
Quote:
Hopefully, something in this post is of some use to you. If not, provide us with more information such as your platform/operating system, sample output from the commands you're running...
Debian Linux (Squeeze & Sid)

Quote:
The grep|awk|sed|cut|sed|sort|uniq pipeline can be replaced by a single awk invocation:

Code:
awk '/inet addr/ && $2!="127.0.0.1" && !a[$2]++ {sub(/\.[^.]*$/, "", $2); print substr($2,6)}'
This did not work. In particular:
$2!="127.0.0.1" && !a[$2]++ Which should be pretty cross platform.

Code:
# ./broken.sh
Invalid target host specification: 127.0.0
QUITTING!

I noticed what you said was true with the loop. I thought it was odd, but some site showed me to do it like that while outputting array elements. I changed everything to y and I piped through sed to remove 127.0.0.1 again and...

Code:
# ./broken.sh
Invalid target host specification: 192.168.12
QUITTING!

Code:
#!/bin/bash

x=5.21

zero+=( "$(/sbin/ifconfig |  sed -e '/127.0.0.1/d' | awk '/inet addr/ && $2!="127.0.0.1" && !a[$2]++ {sub(/\.[^.]*$/, "", $2); print substr($2,6)}')" )


v=`nmap --version | grep "Nmap" | awk '{ print $3 }'`


for i in "${zero[@]}"
do
        if [ $v == $x ]; then
                one+=( "$(nmap -sP $i.0/24 | grep report | awk '{ print $5 }')" )
                sleep 1
        else
                one+=( "$(nmap -sP $i.0/24 | grep Host | awk '{ print $2 }')" )
                sleep 1
        fi
done

y=0
length=${#one[@]}
for (( y = 0; y < $length; y++ ));
do
    echo -e "${one[$y]}\n"
done

 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Accessing array elements

Hi, My doubt is how to access array elements.. Situation is as below: #!/bin/ksh set -x typeset -i x=0 typeset -i y=0 typeset -i BID=0 typeset -i count=0 while ] ; do x=`expr $x + 1`; hwmgr show scsi > scsi.tmp while read line; do set... (1 Reply)
Discussion started by: mansa
1 Replies

2. Shell Programming and Scripting

awk output error while loop through array

Have built this script, the output is what I needed, but NR 6 is omitted. Why? Is it an error? I am using Gawk. '{nr=$2;f = $1} END{for (i=1;i<=f;i++) if (nr != i) print i, nr }' input1.csv >output1.csvinput1.csv 1 9 3 5 4 1 7 6 8 5 10 6 output1.csv > with the missing line number 6. 6 is... (5 Replies)
Discussion started by: sdf
5 Replies

3. Shell Programming and Scripting

Removing elements from an array

Hi I have two arrays : @arcb= (450,625,720,645); @arca=(625,645); I need to remove the elements of @arca from elements of @arcb so that the content of @arcb will be (450,720). Can anyone sugget me how to perform this operation? The code I have used is this : my @arcb=... (3 Replies)
Discussion started by: rkrish
3 Replies

4. Shell Programming and Scripting

Grouping array elements - possible?

I have a script which takes backup of some configuration files on my server. It does that by using an array which contains the complete path to the files to backup. It copys the files to a pre defined dir. Each "program" has it's own folder, ex. apache.conf is being copied to /predefined... (7 Replies)
Discussion started by: dnn
7 Replies

5. 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

6. Shell Programming and Scripting

Multiplication of array elements

Hi, I can't find out how to create correct code to get multiplication of each elements of array. Let's say I enter array into command line (2 3 4 5 6 8) and i need output 2*3*4*5*6*8=5760. I tried this one, but answer is 0. for i in $@; do mult=$((mult*i))done echo "mult: " $mult ... (4 Replies)
Discussion started by: rimasbimas
4 Replies

7. Programming

Array Elements Check

Hi everyone, :) I'm trying to make a simple C program that scans an array of chars to see if its elements are similar. I can't understand what's wrong. Could you help me to fix this? Here is the code. Thanks! #include<stdio.h> int main() { int arr; int i, len; int flag =... (10 Replies)
Discussion started by: IgorGest
10 Replies

8. Shell Programming and Scripting

Output Multiple Files in the For Loop

while IFS= read -r line do # sV for version detection nmap -T4 -Pn -v -sS "$line" > "text/$line" done < <(grep '' $file) Hi, where line represents the IP. I am using NMAP to do scanning. How can I set to execute that command in the loop several concurrently at a time instead of one... (5 Replies)
Discussion started by: alvinoo
5 Replies

9. Shell Programming and Scripting

Help reading the array and sum of the array elements

Hi All, need help with reading the array and sum of the array elements. given an array of integers of size N . You need to print the sum of the elements in the array, keeping in mind that some of those integers may be quite large. Input Format The first line of the input consists of an... (1 Reply)
Discussion started by: nishantrefound
1 Replies

10. Shell Programming and Scripting

Get unique elements from Array

I have an array code and output is below: echo $1 while read -r fline; do echo "%%%%%%$fline%%%%%" fmy_array+=("$fline") done <<< "$1" Output: CR30903 YU0007 SRIL CR30903 Yogesh SRIL %%%%%%CR30903 YU0007 SRIL%%%%% %%%%%%CR30903 Yogesh SRIL%%%%% ... (8 Replies)
Discussion started by: mohtashims
8 Replies
LO(4)							     Kernel Interfaces Manual							     LO(4)

NAME
lo - software loopback network interface SYNOPSIS
/sys/conf/SYSTEM: NLOOP 1 # loop-back pseudo-device DESCRIPTION
The loop interface is a software loopback mechanism which may be used for performance analysis, software testing, and/or local communica- tion. As with other network interfaces, the loopback interface must have network addresses assigned for each address family with which it is to be used. These addresses may be set or changed with the SIOCSIFADDR ioctl. The loopback interface should be the last interface con- figured, as protocols may use the order of configuration as an indication of priority. The loopback should never be configured first unless no hardware interfaces exist. DIAGNOSTICS
lo%d: can't handle af%d. The interface was handed a message with addresses formatted in an unsuitable address family; the packet was dropped. SEE ALSO
intro(4N), inet(4F), ns(4F) BUGS
Previous versions of the system enabled the loopback interface automatically, using a nonstandard Internet address (127.1). Use of that address is now discouraged; a reserved host address for the local network should be used instead. 3rd Berkeley Distribution August 1, 1987 LO(4)
All times are GMT -4. The time now is 03:38 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy