Help with Ping Script and AWK


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Help with Ping Script and AWK
# 1  
Old 11-04-2010
Power Help with Ping Script and AWK

Hey Guys,

First time posting here. I keep getting back here on my google searches to help me in my scripting quest.
Can i ask for some guidance please?

I acquired a script, from these forums in fact that pings a list of IPs/Hostnames. Works a treat. Echos results to a file with the value (IP/Hostname) pinged.

Before
Code:
device1      1.1.1.1
device2      2.2.2.2

Script
Code:
#! /bin/sh
IPLIST=`less ./devices.txt | awk '{print $2}'`
for ip in $IPLIST
do
  echo $ip
  ping -c 2 $ip >>device-log.txt
  if [ $? -eq 0 ]
  then
     echo $ip "PINGS">>pingresultsace-device.txt
  else
    echo $ip "DOESN'T PING">>pingresultsace-device.txt
 fi
done


The output is
Code:
1.1.1.1 PINGS
2.2.2.2 DOESN'T PING

What i would really like is to put the entire line, or parts of it to produce. By parts of it i mean, using the AWK command or similar to select the fields to echo.

Code:
device1      1.1.1.1 PINGS
device2      2.2.2.2 DOESN'T PING

Thanks All

Last edited by vbe; 11-04-2010 at 12:02 PM.. Reason: Nice try, but code tags use [] square brakets...
# 2  
Old 11-04-2010
Maybe something like this?
Code:
#! /bin/sh

while read host ip
do
  echo $ip
  ping -c 2 $ip >>device-log.txt
  if [ $? -eq 0 ]
  then
    echo $host $ip "PINGS">>pingresultsace-device.txt
  else
    echo $host $ip "DOESN'T PING">>pingresultsace-device.txt
  fi
done < ./devices.txt

# 3  
Old 11-04-2010
MySQL

PERFECT !!! Smilie

I did try the while read line, but was getting no where.

Can you tell me how this, using host and ip gets the column information.
i.e. suppose there was more columns?

Thanks for the fast reply
# 4  
Old 11-04-2010
Quote:
Originally Posted by stacky69
PERFECT !!! Smilie

I did try the while read line, but was getting no where.

Can you tell me how this, using host and ip gets the column information.
i.e. suppose there was more columns?

Thanks for the fast reply
Excerption from the man page of sh:

Quote:
read [-p prompt] [-r] variable [...]

The prompt is printed if the -p option is specified and the stan-
dard input is a terminal. Then a line is read from the standard
input. The trailing newline is deleted from the line and the line
is split as described in the section on word splitting above, and
the pieces are assigned to the variables in order. At least one
variable must be specified. If there are more pieces than vari-
ables, the remaining pieces (along with the characters in IFS that
separated them) are assigned to the last variable. If there are
more variables than pieces, the remaining variables are assigned
the null string. The read builtin will indicate success unless
EOF is encountered on input, in which case failure is returned.

By default, unless the -r option is specified, the backslash "\"
acts as an escape character, causing the following character to be
treated literally. If a backslash is followed by a newline, the
backslash and the newline will be deleted.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

awk Pattern Matching for PING tests

I have a script that logs into a server and pings several other servers in order to verify IP path between servers. The output can look like this, if good pings: Response from 1.1.1.4;_id=0, vlan_prio=0): seq=0 time=91.547 ms. Response from 1.1.1.4;_id=0, vlan_prio=0): seq=1 time=61.176 ms.... (7 Replies)
Discussion started by: he204035
7 Replies

2. Programming

Ping test sends mail when ping fails

help with bash script! im am working on this script to make sure my server will stay online, so i made this script.. HOSTS="192.168.138.155" COUNT=4 pingtest(){ for myhost in "$@" do ping -c "$COUNT" "$myhost" &&return 1 done return 0 } if pingtest $HOSTS #100% failed... (4 Replies)
Discussion started by: mort3924
4 Replies

3. UNIX and Linux Applications

Script help with awk/ping

I need to ping a host website ...like facebook.com and out the seconds of delay for 5 websites ..I need help writing a script that will print the bold PING facebook.com (173.252.90.36) 56(84) bytes of data. 64 bytes from edge-star-mini-shv-13-atn1.facebook.com (173.252.90.36): icmp_req=1... (1 Reply)
Discussion started by: 5sku5
1 Replies

4. Shell Programming and Scripting

Need bash script to ping the servers and rename the output file each time the script is ran

HI, I have a file serverlist in that all host names are placed. i have written a small script #./testping #! /bin/bash for i in `cat serverlist` do ping $i >> output.txt done so now it creates a file output.txt till here fine.. now each time i run this script the output file... (4 Replies)
Discussion started by: madhudeva
4 Replies

5. Shell Programming and Scripting

Animation Ping on Solaris Like Cisco Ping

Hi, I develop simple animation ping script on Solaris Platform. It is like Cisco ping. Examples and source code are below. bash-3.00$ gokcell 152.155.180.8 30 Sending 30 Ping Packets to 152.155.180.8 !!!!!!!!!!!!!.!!!!!!!!!!!!!!!. % 93.33 success... % 6.66 packet loss...... (1 Reply)
Discussion started by: gokcell
1 Replies

6. Shell Programming and Scripting

Router ping log extract data from it Awk/Sed/grep

Hi, I am new to this world.. Using expect i loging to router and checking ping response to my links. I need to genarate report using this output and that report contains only three file link name, packet loss, latency. my output of script is like below: -bash-3.00$ monmw/mwbkp... (2 Replies)
Discussion started by: jkmistry
2 Replies

7. Shell Programming and Scripting

Help With Ping Script

Hello all...I'm new to Unix and learning. What I'm trying to create is a script that will ping a known range of IP addresses, say 192.168.1.1 to 192.168.1.254. For each address that no reply is received, that address will be written to a log file that will be emailed to an administrator. My wife... (1 Reply)
Discussion started by: spmitchell
1 Replies

8. Shell Programming and Scripting

Ping script

I want find from a file , where list of hosts is given . Whether SSH is running on that Hosts and and create 2 files : HOSt-SSH-Running HOST-SSH-Not-running In the list we have some Windows and Unix Servers, windows servers do not have sshd running. (2 Replies)
Discussion started by: sriram003
2 Replies

9. Shell Programming and Scripting

Ping Script

hello, I am looking to make a script that will ping a remote ip address. Upon completion of the ping I want the program to either ping again if the # of packets transmitted is equal to the number of packets received or exit if the two values are unequal and information was lost. I am not sure if I... (3 Replies)
Discussion started by: mcrosby
3 Replies

10. UNIX for Dummies Questions & Answers

Using AWK for ping and print..

I'm using a hosts file, formatted like this: xxx.xxx.xxx.xxx dnsname #comment Current command is: for host in 'awk '/^/ { print $1 }' etc/hosts' do ping $host 1 2>&1 | \ sed 's/.*no answer.*/[31;1m&[0m/;s/.*is alive.*/[32;2m[0m/' done (no... (5 Replies)
Discussion started by: hutch770
5 Replies
Login or Register to Ask a Question