Sponsored Content
Full Discussion: awk script modification
Top Forums Shell Programming and Scripting awk script modification Post 302686691 by SkySmart on Wednesday 15th of August 2012 09:02:11 AM
Old 08-15-2012
awk script modification

I want the below script to omit every chunk of data that contains a specific hostname.

here's the scenario. i have a configuration file that contains the configuration of several hosts. a sample of this configuration file is this:


Code:
define host {
        address                       10.70.40.40
        host_name                     relay-nasty-01.net
        use                           generic-host
}

define host {
        address                       10.70.40.42
        host_name                     relay-nasty-02.net
        use                           generic-host
}

define host {
        address                       10.70.40.43
        host_name                     relay-nasty-03.net
        use                           generic-host
}

The above is the configuration for Three hosts: relay-nasty-01.net, relay-nasty-02.net, relay-nasty-03.net.

now, this configuration data is quite huge, since it contains information for several hosts.

now, i want to scan this configuration file against a list of host names. and if any of the hostname in this list is found in the configuration file, i want information about that host name to be omitted. I want a new configuration file created without the configuration for that host name(s).

so for example, if relay-nasty-02.net was in the list of hostnames i want to remove from the configuration file, i want a script that will scan the configuration and output EVERYTHING ELSE BUT the configuration for relay-nasty-02.net.

below is a script i was working on. but i dont know how to modify it to do what i specified above.

Code:
awk 'BEGIN {
  while((getline < "/tmp/host_list.txt")>0)
     S[$0]

  FS="\n"; RS="}\n"; ORS="}\n";
}

/define host/ {

  for(X in D) delete D[X];

  for(N=2; N<=NF; N++)
  {
       split($N, A, " ");
       D[A[1]]=A[2];
  }

  if (D["host_name"] in S)
       printf("%s -------- %s -------- %s\n", D["host_name"]" " " ", D["address"], D["_secondary_address"])

}' /tmp/hosts.conf

so basically, i would like to modify this script to make it so, when i scan it against the configuration file, it will omit the configuration setup of the host(s) in the list i give it.

so in my example, if i run this script, it should only output the below, because relay-nasty-02.net was in the list of hosts i gave it.

Code:
define host {
        address                       10.70.40.40
        host_name                     relay-nasty-01.net
        use                           generic-host
}


define host {
        address                       10.70.40.43
        host_name                     relay-nasty-03.net
        use                           generic-host
}

OS: linux/sun
shell: bash
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

help in script modification

i have the following perl script.but it searches for a given filename. i want to run the same script in my directoy which has subdirectories too and it has to display the file if sreach satisfies along with directory name. can anyone help me: perl script: my $FILE = $ARGV; for zf in... (4 Replies)
Discussion started by: a.suryakumar
4 Replies

2. Shell Programming and Scripting

Need a modification on this script

Hi All I have files contains rows which look like this: 2 20090721_16:58:47.173 JSUD2 JD1M1 20 IAM 966591835270 249918113182 b 3610 ACM b 3614 ACM b 3713 CPG b 3717 CPG f 5799 REL b 5815 RLC b 5817 RLC :COMMA: NCI=00,FCI=6101,CPC=0A,TMR=00,OFI=00,USI: :COMMB: BCI=1234: :RELCAUSE:10: ... (1 Reply)
Discussion started by: zanetti321
1 Replies

3. Shell Programming and Scripting

in line modification in a file using awk

Hi, I have a conf.file with the following values: ef=78 b=40 ca=40 c=45/dev2 when I modify one of the line with the below awk script,it's modifying BUT it's placing the modified line in the last line : input:- Configure b 45/dev4 output:- ef=78 ca=40 ... (2 Replies)
Discussion started by: axes
2 Replies

4. Shell Programming and Scripting

Awk modification

I need help modifying the code below. DATAFILE is a log file. I have two strings i need to search for in the log file. The two strings are: 1. ERROR 2. com.rolander.promotions.client awk 'BEGIN { while((getline < "'${SFILE}'")>0) S FS="\n"; RS="\n" } (11 Replies)
Discussion started by: SkySmart
11 Replies

5. Shell Programming and Scripting

awk modification for lines

so i have this data in a file: jime=1860,yime=1.23243,lime= jime=1859,yime=1.23018,lime= jime=1825,yime=1.15371,lime= jime=1849,yime=1.20769,lime= jime=1841,yime=1.1897,lime= jime=1849,yime=1.20769,lime= i use this code to calculate the percentage difference of the number in column 2... (9 Replies)
Discussion started by: SkySmart
9 Replies

6. UNIX for Dummies Questions & Answers

awk output modification

Hello, I am using awk command to print some output, but there are some characters that I would like to remove from the output awk '{print $5$6}' the output I get is column5/:column6 I am looking forward to remove the : and to get the output column5/column6 Sorry if this question is... (4 Replies)
Discussion started by: Error404
4 Replies

7. Shell Programming and Scripting

IP Address Modification through awk/sed

Hi, I have to modify the 2nd and 3rd octet of the IP address through awk/sed. For Example: Given IP is : 10.205.22.254, it should be modified as 10.105.100.254 through awk/sed. Kindly help me on this and let me know if you have any questions. Thanks in advances. (2 Replies)
Discussion started by: kumarbka
2 Replies

8. Shell Programming and Scripting

awk script modification - treat certain files differently

awk 'BEGIN{OFS=","} FNR == 1 {if (NR > 1) {print fn,fnr,nl} fn=FILENAME; fnr = 1; nl = 0} {fnr = FNR} /UNUSUAL/ && /\.gz/ ~ /FILENAME/ {nl++} <'{system ("gunzip -cd FILENAME")}' END ... (2 Replies)
Discussion started by: SkySmart
2 Replies

9. Shell Programming and Scripting

awk script modification

can someone help me identify what i'm doing wrong here: awk -F'|' 'BEGIN{c=0} /./ && /./ { if ($3 < 2) { print ; c++ } END { print c":OK" } else if (($3 >= 2) && ($3 < 4)) { print ; c++ } END { print c":WARNING" } else if ($3 >= 4) { print ; c++ } END { print c":CRITICAL" } }'... (4 Replies)
Discussion started by: SkySmart
4 Replies

10. Shell Programming and Scripting

Modification to awk command

i have a php file that has this: php.code #!/usr/bin/php <?php phpinfo(); hlight_file(__FILE__); ?> I want my awk code grab whatever is inbetween and including the "<?php" and "?>". Then, it should scan all the entries between these two points. And if the entries between these... (10 Replies)
Discussion started by: SkySmart
10 Replies
ftpaddhost(1M)						  System Administration Commands					    ftpaddhost(1M)

NAME
ftpaddhost - set up a virtual FTP host SYNOPSIS
ftpaddhost -c | -l [-b] [-x xferlog] hostname root_dir DESCRIPTION
The ftpaddhost script is executed by the super user to set up virtual FTP hosts. The ftpaddhost command configures the virtual host host- name under directory root_dir. The value of hostname can be an IP address or the name of a host. OPTIONS
The ftpaddhost script supports the following options: -b Create a banner for the virtual host. This option is useful to confirm that the virtual host is working. -c Configure complete virtual hosting. This option allows each virtual host to have its own version of the ftpaccess, ftpconversions, ftpgroups, ftphosts, and ftpusers files. The master version of each of these configuration files is copied from the /etc/ftpd directory and placed in the /etc/ftpd/virtual-ftpd/hostname directory. If the /etc/ftpusers file exists it is appended to the virtual ftpusers file. If a virtual host lacks its own version of a configuration file, the master version is used. -l Configure limited virtual hosting. This option allows a small number of parameters to be configured differently for a virtual host. See the virtual keyword on the ftpaccess(4) manual page. -x xferlog Create a logfile entry such that the transfer logs for the virtual host are written to the specified file. An abso- lute path must be specified for the xferlog file. OPERANDS
The following operands are supported: hostname The host name or IP address of the virtual server. root_dir The absolute pathname of the directory under which the virtual server is set up. EXIT STATUS
The following exit values are returned: 0 Successful completion 1 Improper usage of the command 2 Command failed FILES
/etc/ftpd/virtual-ftpd/hostname The configuration files directory for the virtual host hostname. ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Availability |SUNWftpu | +-----------------------------+-----------------------------+ |Interface Stability |Evolving | +-----------------------------+-----------------------------+ SEE ALSO
ftpconfig(1M), in.ftpd(1M), ftpaccess(4), ftpconversions(4), ftpgroups(4), ftphosts(4), ftpusers(4), xferlog(4), attributes(5) SunOS 5.10 1 May 2003 ftpaddhost(1M)
All times are GMT -4. The time now is 10:58 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy