Sponsored Content
Top Forums Shell Programming and Scripting Find key pattern and print selected lines for each record Post 302943911 by redse171 on Thursday 14th of May 2015 02:29:22 AM
Old 05-14-2015
Quote:
Originally Posted by Chubler_XL
How about this

Code:
awk '
BEGIN{
   for(i=split("ID ACC TOS TMA KAW FEA TT", k);i;i--) keep[k[i]];
}
$1 in keep     { s=s "\n" $0 }
/^DOR[ \t]+TDP/{ s=s "\n" $0 }
$1=="COM" && /-@- Full Comment/ {
   s=s "\n" $0; getline
   s=s "\n" $0
}
/^FEA.*SUBCHAN/ { tt++ }
$1=="##"&&s {
   if(prn) print "##" s "\nTT   " tt
   s=""
   tt=prn=0
}
/^KAW.*subchannel/ {prn++}
END { print "##" } ' infile

Hi Chubler_XL,

The codes worked perfectly on my real data!. So, split function can be used to get selected lines. Thank you very much!. Smilie
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

print selected lines

Hi everybody: I try to print in new file selected lines from another file wich depends on the first column. I have done a script like this: lines=( "1" "2" "3" "4" "5" "6" "7" "8" "9" "10" "11" "21" "31" "41" "51" "55" "57" "58" ) ${lines} for lines in ${lines} do awk -v ... (6 Replies)
Discussion started by: tonet
6 Replies

2. Shell Programming and Scripting

Grep for a pattern and print entire record

Hi friends, This is my very first post on forum, so kindly excuse if my doubts are found too silly. I am trying to automate a piece of routine work and this is where I am stuck at the moment-I need to grep a particular ID through a file containing many records(which start with <LRECORD> and end... (6 Replies)
Discussion started by: faiz1985
6 Replies

3. Shell Programming and Scripting

trying to print selected fields of selected lines by AWK

I am trying to print 1st, 2nd, 13th and 14th fields of a file of line numbers from 29 to 10029. I dont know how to put this in one code. Currently I am removing the selected lines by awk 'NR==29,NR==10029' File1 > File2 and then doing awk '{print $1, $2, $13, $14}' File2 > File3 Can... (3 Replies)
Discussion started by: ananyob
3 Replies

4. Shell Programming and Scripting

Print selected lines from file in order

I need to extract selected lines from a log file, I can use grep to pull one line matching 'x' or matching 'y', how can I run through the log printing both matching lines in order top to bottom. i.e line 1 xyz - not needed line 2 User01 - needed line 3 123 - not needed line 4 Info - needed... (2 Replies)
Discussion started by: rosslm
2 Replies

5. Shell Programming and Scripting

Help with print out all relevant record if match particular pattern

Input file: data100_content1 420 700 data101_content1 107 516 data101_content2 194 773 data101_content3 195 917 data104_content2 36 325 data105_content1 505 605 data106_content1 291 565 ... (7 Replies)
Discussion started by: perl_beginner
7 Replies

6. Shell Programming and Scripting

awk to print record not equal specific pattern

how to use "awk" to print any record has pattern not equal ? for example my file has 5 records & I need to get all lines which $1=10 or 20 , $2=10 or 20 and $3 greater than "130302" as it shown : 10 20 1303252348212B030 20 10 1303242348212B030 40 34 1303252348212B030 10 20 ... (14 Replies)
Discussion started by: arm
14 Replies

7. Shell Programming and Scripting

Gawk Find Pattern Print Lines Before and After

Using grep I can easily use: cvs log |grep -iB 10 -A 10 'date: 2013-10-30' to display search results and 10 lines before and after. How can this be accompished using gawk? (4 Replies)
Discussion started by: metallica1973
4 Replies

8. Shell Programming and Scripting

Shell Script @ Find a key word and If the key word matches then replace next 7 lines only

Hi All, I have a XML file which is looks like as below. <<please see the attachment >> <?xml version="1.0" encoding="UTF-8"?> <esites> <esite> <name>XXX.com</name> <storeId>10001</storeId> <module> ... (4 Replies)
Discussion started by: Rajeev_hbk
4 Replies

9. Shell Programming and Scripting

Help with print out record if first and next line follow specific pattern

Input file: pattern1 100 250 US pattern2 50 3050 UK pattern3 100 250 US pattern1 70 1050 UK pattern1 170 450 Mal pattern2 40 750 UK . . Desired Output file: pattern1 100 250 US pattern2 50 3050 UK pattern1 170 450 Mal pattern2... (3 Replies)
Discussion started by: cpp_beginner
3 Replies

10. Shell Programming and Scripting

sed -- Find pattern -- print remainder -- plus lines up to pattern -- Minus pattern

The intended result should be : PDF converters 'empty line' gpdftext and pdftotext?xml version="1.0"?> xml:space="preserve"><note-content version="0.1" xmlns:/tomboy/link" xmlns:size="http://beatniksoftware.com/tomboy/size">PDF converters gpdftext and pdftotext</note-content>... (9 Replies)
Discussion started by: Klasform
9 Replies
wcmgr(1)							   The Webalizer							  wcmgr(1)

NAME
wcmgr - Webalizer (DNS) Cache file Manager SYNOPSIS
wcmgr [ option ... ] cache-file DESCRIPTION
wcmgr is a utility program which allows manipulation of the DNS cache files used and produced by The Webalizer. Each record in the cache file contains an IP address (either IPv4 or IPv6), a timestamp of when the entry was added to the cache, a flag to indicate if the record contains a resolved name or not, and either the same IP address or a resolved host name. All records are accessed by their IP address. RUNNING WCMGR
wcmgr was designed to be run from the Unix shell command line. This facilitates its use in shell scripts and other automated processes. A valid DNS cache file must be specified. Command line options are optional, and if none are given, the default action is to list the con- tents of the specified cache file. COMMAND LINE OPTIONS
Different functions are selected by using one or more of the following command line options. If no options are given, the default is to display the contents of the cache file to the screen (stdout). -h Display all available command line options and exit. -v Be verbose. -V Display the program version and exit. Additional program specific information will be displayed if verbose mode is also used (e.g. '-vV'), which can be useful when submitting bug reports. -a address [-n hostname] [-t0] Add a new record to the cache file. The IP address will be added to the cache file using the current time as the timestamp and with a resolved name hostname. If -t0 is specified, the record will be considered permanent, and will not be removed (during a purge) or expired. If a hostname is not specified with the -n option, then the address will be used instead, and the record will be flagged as unresolved. -c Create a new cache file. If used alone, this option will create a new, empty cache file. If used with the import option, a new cache file will be created before importing the data. An error will occur if the file cache-file already exists. -d address Delete a record from the cache file using the specified address. -f address Find and display information for address from the cache file. A single line similar to that produced by the -l option will be dis- played unless verbose mode is enabled, in which case a more detailed listing will be produced. -i name [-c] Import data into the cache file from the file name. The import file must be a valid tab delimited text file, such as that created by the export option. If the imported data contains records already present in the cache file, those records will be overwritten by the imported data. The cache file must exist unless the -c option is specified, in which case, a new cache file will be created for the imported data. -l List the contents of the cache file. This is the default action of the program, so does not necessarily need to be specified. If verbose mode is enabled, a report title, column headers and summary totals will also be displayed. -p num Purge the cache file of entries older than num days. If num is not specified, then a default of 7 days will be used. if verbose mode is enabled, each purged record will be printed and the total number of purged records will be displayed. -s [-t num] Display cache file information/statistics. If a TTL value (in days) is specified using the -t option, it will be used to calculate how many records are older than num days, otherwise, the default value of 7 days will be used. -n name Specify the name to use as the resolved hostname when adding records to the cache. -t num Time to live (TTL) value. If used along with the -p (purge) option, it specifies how many days a record will remain valid. Any record that is older than num days is considered expired and will be purged. If used with the -a (add) option, a zero value will cause the record to be considered permanent. -x name Export data from a cache file to a tab delimited text file named name. If the text file name exists, it will be overwritten. BUGS
Please report bugs to the author. COPYRIGHT
Copyright (C) 1997-2011 by Bradford L. Barrett. Distributed under the GNU GPL. See the files "COPYING" and "Copyright", supplied with all distributions for additional information. AUTHOR
Bradford L. Barrett <brad at mrunix dot net> Version 1.00 12-Jul-2008 wcmgr(1)
All times are GMT -4. The time now is 10:26 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy