Sponsored Content
Top Forums UNIX for Dummies Questions & Answers Extracting range of characters if pattern matches Post 302897743 by rdrtx1 on Tuesday 15th of April 2014 04:36:23 PM
Old 04-15-2014
try also:
Code:
# dir1 : dir with .enr files
# dir2 : dir with data files
# odir : output dir
[[ ! -d odir ]] && mkdir odir
for f in dir1/*.enr
do
   infile=${f##*/}
   infile="${infile%[.]enr}"
   awk '
   NR==2 { b=$2; e=$3;}
   NR>FNR {$0=" " $0; if (($3>=b) && ($3<=e)) o=o $6;}
   END {of=FILENAME; sub(".*/", "", of) ;  print of; print o}
   ' FS=, "$f" FS="[ \t]*" dir2/"$infile" > odir/"$infile".out
done


Last edited by rdrtx1; 04-15-2014 at 05:57 PM.. Reason: include location of files directories
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Extract if pattern matches

Hi All, I have an input below. I tried to use the awk below but it seems that it ;s not working. Can anybody help ? My concept here is to find the 2nd field of the last occurrence of such pattern " ** XXX ccc ccc cc cc ccc 2007 " . In this case, the 2nd field is " XXX ". With this "XXX" term... (20 Replies)
Discussion started by: Raynon
20 Replies

2. Shell Programming and Scripting

print range between two patterns if it contains a pattern within the range

I want to print between the range two patterns if a particular pattern is present in between the two patterns. I am new to Unix. Any help would be greatly appreciated. e.g. Pattern1 Bombay Calcutta Delhi Pattern2 Pattern1 Patna Madras Gwalior Delhi Pattern2 Pattern1... (2 Replies)
Discussion started by: joyan321
2 Replies

3. Shell Programming and Scripting

get value that matches file name pattern

Hi I have files with names that contain the date in several formats as, YYYYMMDD, DD-MM-YY,DD.MM.YY or similar combinations. I know if a file fits in one pattern or other, but i donīt know how to extract the substring contained in the file that matches the pattern. For example, i know that ... (1 Reply)
Discussion started by: pjrm
1 Replies

4. UNIX for Dummies Questions & Answers

extracting lates pattern match from multiple matches in log

Hi, I have a large, multiline log file. I have used pcregrep to extract all entries in that log that match a particular pattern - where that pattern spans multiple lines. However, because the log file is large, and these entries occur every few minutes, I still output a very large amount... (6 Replies)
Discussion started by: dbrb2
6 Replies

5. Shell Programming and Scripting

How Not to Delete Words that matches a PATTERN

Hi, I have a test file name test.txt with its contents string 21345 qwee strinn strriin striin i need to delete all the words except the word STRING I used the command cat test.txt | sed 's/^..*$/**/g' but the output entries still contain strinn strriin striin. Plz Help me out.... (5 Replies)
Discussion started by: Ananth12
5 Replies

6. Shell Programming and Scripting

exit after extracting range if lines - awk

Hello, I was wondering how is it possible if I use this command: awk 'NR >= 998 && NR <= 1000' file.txtTo exit after parsing the 1000th line ( last line targeted) ??? I observed that when executing this command for a large file, if the range of lines is at the beginning of the file it is... (2 Replies)
Discussion started by: black_fender
2 Replies

7. Shell Programming and Scripting

Searching for a pattern and extracting records related to that pattern

Hi there, Looking forward to your advice for the below: I have a file which contains 2 paragraphs related to a particular pattern. I have to search for those paragraphs from a log file and then print a particular line from those paragraphs. Sample: I have one file with the fixed... (3 Replies)
Discussion started by: danish0909
3 Replies

8. Shell Programming and Scripting

awk with range but matches pattern

To match range, the command is: awk '/BEGIN/,/END/' but what I want is the range is printed only if there is additional pattern that matches in the range itself? maybe like this: awk '/BEGIN/,/END/ if only in that range there is /pattern/' Thanks (8 Replies)
Discussion started by: zorrox
8 Replies

9. Shell Programming and Scripting

sed Range Pattern and 2 lines before Start Pattern

Hi all, I have been searching all over Google but I am unable to find a solution for a particular result that I am trying to achieve. Consider the following input: 1 2 3 4 5 B4Srt1--Variable-0000 B4Srt2--Variable-1111 Srt 6 7 8 9 10 End (3 Replies)
Discussion started by: y2jacky
3 Replies

10. Shell Programming and Scripting

How to get a 1st line which matches the particular pattern?

Hi all, I have file on which I do grep on "/tmp/data" then I get 5 lines as dir Path: /tmp/data/20162343134 Starting to listen on ports logging: -- Moving results files from local storage: /tmp/resultsFiles/20162343134/*.gz to NFS: /data/temp/20162343134/outgoing from above got to get... (7 Replies)
Discussion started by: girijajoshi
7 Replies
makedbm(1M)						  System Administration Commands					       makedbm(1M)

NAME
makedbm - make a dbm file, or get a text file from a dbm file SYNOPSIS
makedbm [-b] [-l] [-s] [-E] [-i yp_input_file] [-o yp_output_name] [-d yp_domain_name] [-m yp_master_name] [-S delimiter] [-D num- ber_of_delimiters] infile outfile makedbm [-u dbmfilename] DESCRIPTION
The makedbm utility takes the infile and converts it to a pair of files in ndbm format (see ndbm(3C)), namely outfile.pag and outfile.dir. Each line of the input file is converted to a single dbm record. All characters up to the first TAB or SPACE form the key, and the rest of the line is the data. If a line ends with `' (backslash), the data for that record is continued on to the next line. makedbm does not treat `#' (pound-sign) as a special character. Because makedbm is mainly used in generating dbm files for the NIS name service, it generates a special entry with the key yp_last_modi- fied, which is the date of infile (or the current time, if infile is `-'). The entries that have keys with the prefix yp_ are interpreted by NIS server utilities. OPTIONS
The following options are supported: -b Insert the YP_INTERDOMAIN into the output. This key causes ypserv(1M) to use DNS for host name and address lookups for hosts not found in the maps. -d yp_domain_name Create a special entry with the key yp_domain_name. -D number_of delimiters Specify number_of_delimiters to skip before forming the key. -E Delimiters are escaped. -i yp_input_file Create a special entry with the key yp_input_file. -l Lower case. Convert the keys of the given map to lower case, so that, for example, host name matches succeed inde- pendent of upper or lower case distinctions. -m yp_master_name Create a special entry with the key yp_master_name. If no master host name is specified, yp_master_name is set to the local host name. -o yp_output_name Create a special entry with the key yp_output_name. -s Secure map. Accept connections from secure NIS networks only. -S delimiter Specify the delimiter to use instead of the default delimiter for forming the key. -u dbmfilename Undo a dbm file. Prints out the file in text format, one entry per line, with a single space separating keys from values. OPERANDS
The following operands are supported: infile Input file for makedbm. If infile is `-' (dash), the standard input is read. outfile One of two output files in ndbm format: outfile.pag and outfile.dir. ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Availability |SUNWcsu | +-----------------------------+-----------------------------+ SEE ALSO
ypserv(1M), ndbm(3C), attributes(5) SunOS 5.10 17 Aug 1999 makedbm(1M)
All times are GMT -4. The time now is 04:06 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy