Sponsored Content
Top Forums Shell Programming and Scripting Get range out using sed or awk, only if given pattern match Post 303003934 by RavinderSingh13 on Saturday 23rd of September 2017 04:22:00 AM
Old 09-23-2017
Hello Dharmaraja,

Welcome to forums, I hope you will enjoy learning/sharing knowledge here. Could you please try following and let me know if this helps you.
Code:
awk '/START/{count++} /OS.*LINUX/ && count{count++} /END/ && count==2{print val RS $0;val=count="";next}{val=val?val ORS $0:$0}/END/{count=val=""}'  Input_file

Output will be as follows.
Code:
START
OS:: LINUX
Release: xxx
Version: xxx
END

EDIT: Adding a non-one liner form of solution too now.
Code:
awk '
/START/{
  count++
}
/OS.*LINUX/ && count{
  count++
}
/END/ && count==2{
  print val RS $0;
  val=count="";
  next
}
{
  val=val?val ORS $0:$0
}
/END/{
  count=val=""
}
'   Input_file

Thanks,
R. Singh
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Help needed in sed range pattern

Hi all, I am using sed for extracting the lines that occurs between the 2 patterns using the following command: sed -n '/pattern1/,/pattern2/' filename The above command has no problem and works fine. But I was wondering if there is a way to quit sed when it has extracted the range at... (3 Replies)
Discussion started by: sank
3 Replies

2. Shell Programming and Scripting

SED - adding blank line after each Range Match

the following range matching works great but i wish to add a blank line after each range result set... which i've tried and researched to no avail MY INPUT DATA: CURRENT CODE I'M USING: sed -n '/*$/,/;/p' $INPUT_FILE RESULTS I'M GETTING: RESULT I looking to... (5 Replies)
Discussion started by: danmauer
5 Replies

3. Shell Programming and Scripting

sed pattern range

Hi guys, trying to replace a '#' with a ' ' (space) but only between the brackets '(' and ')' N="text1#text2#text3(var1#var2#var3)" N=`echo $N |sed '/(/,/) s/#. //'` echo $N Looking for an output of "text1#text2#text3(var1 var2 var3)" Any ideas? (15 Replies)
Discussion started by: mikepegg
15 Replies

4. Shell Programming and Scripting

match range of different numbers by AWK

if the column1 and 2 in both files has same key (for example "a" and "a1") compare each first key value(a1 of a) of input2 (for example 1-4 or 65-69 not 70-100 or 44-40 etc) with all the values in input1. if the range of first key value in input2 is outof range in input1 values named it as out... (54 Replies)
Discussion started by: repinementer
54 Replies

5. Shell Programming and Scripting

Awk-sed help : to remove first and last line with pattern match:

awk , sed Experts, I want to remove first and last line after pattern match "vg" : I am trying : # sed '1d;$d' works fine , but where the last line is not having vg entry it is deleting one line of data. - So it should check for the pattern vg if present , then it should delete the line ,... (5 Replies)
Discussion started by: rveri
5 Replies

6. Shell Programming and Scripting

sed : match one pattern then the next consecutive second pattern not working

Ive used this snippet of code on a solaris box thousands of times. But it isnt working on the new linux box sed -n '/interface LoopBack0/{N;/ ip address /p;}' *.conf its driving me nuts !! Is there something Im missing ? (7 Replies)
Discussion started by: popeye
7 Replies

7. Shell Programming and Scripting

Sorting content between match pattern and move on with awk and sed

S 0.0 0.0 (reg, inst050) k e f d c S 0.0 0.0 (mux, m030) k g r s x v S 0.0 0.0 (reg, inst020) q s n m (12 Replies)
Discussion started by: ctphua
12 Replies

8. Shell Programming and Scripting

Pattern match with awk/sed - help

I need to grep for the pattern text inside the square brackets which are in red and not in green..my current code greps patterns both of them, which i don't want Input fileref|XP_002371341.1| oxoacyl-ACP reductase, putative gb|EPT24759.1| 3-ketoacyl-(acyl-carrier-protein) reductase ... (2 Replies)
Discussion started by: selvankj
2 Replies

9. Shell Programming and Scripting

sed one Liner inverse range match-help required

cat test.txt a c d e g (2 Replies)
Discussion started by: TomG
2 Replies

10. 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
pure-authd(8)							     Pure-FTPd							     pure-authd(8)

NAME
pure-authd - External authentication agent for Pure-FTPd. SYNTAX
pure-authd [-p </path/to/pidfile>] [-u uid] [-g gid] [-B] <-s /path/to/socket> -r /program/to/run DESCRIPTION
pure-authd is a daemon that forks an authentication program, waits for an authentication reply, and feed them to an application server. pure-authd listens to a local Unix socket. A new connection to that socket should feed pure-authd the following structure : account:xxx password:xxx localhost:xxx localport:xxx peer:xxx end (replace xxx with appropriate values) . localhost, localport and peer are numeric IP addresses and ports. peer is the IP address of the remote client. These arguments are passed to the authentication program, as environment variables : AUTHD_ACCOUNT AUTHD_PASSWORD AUTHD_LOCAL_IP AUTHD_LOCAL_PORT AUTHD_REMOTE_IP AUTHD_ENCRYPTED The authentication program should take appropriate actions to fetch account info according to these arguments, and reply to the standard output a structure like the following one : auth_ok:1 uid:42 gid:21 dir:/home/j end auth_ok:xxx If xxx is 0, the user was not found (the next authentication method passed to pure-ftpd will be tried) . If xxx is -1, the user was found, but there was a fatal authentication error : user is root, password is wrong, account has expired, etc (next authentication methods will not be tried) . If xxx is 1, the user was found and successfully authenticated. uid:xxx The system uid to be assigned to that user. Must be > 0. gid:xxx The primary system gid. Must be > 0. dir:xxx The absolute path to the home directory. Can contain /./ for a chroot jail. slow_tilde_expansion:xxx (optional, default is 1) When the command 'cd ~user' is issued, it's handy to go to that user's home directory, as expected in a shell environment. But fetching account info can be an expensive operation for non-system accounts. If xxx is 0, 'cd ~user' will expand to the system user home directory. If xxx is 1, 'cd ~user' won't expand. You should use 1 in most cases with external authentication, when your FTP users don't match system users. You can also set xxx to 1 if you're using slow nss_* system authentication modules. throttling_bandwidth_ul:xxx (optional) The allocated bandwidth for uploads, in bytes per second. throttling_bandwidth_dl:xxx (optional) The allocated bandwidth for downloads, in bytes per second. user_quota_size:xxx (optional) The maximal total size for this account, in bytes. user_quota_files:xxx (optional) The maximal number of files for this account. ratio_upload:xxx (optional) radio_download:xxx (optional) The user must match a ratio_upload:ratio_download ratio. Only one authentication program is forked at a time. It must return quickly. OPTIONS
-u <uid> Have the daemon run with that uid. -g <gid> Have the daemon run with that gid. -B Fork in background (daemonization). -s </path/to/socket> Set the full path to the local Unix socket. -R </path/to/program> Set the full path to the authentication program. -h Output help information and exit. EXAMPLES
To run this program the standard way type: pure-authd -s /var/run/ftpd.sock -r /usr/bin/my-auth-program & pure-ftpd -lextauth:/var/run/ftpd.sock & /usr/bin/my-auth-program can be as simple as : #! /bin/sh echo 'auth_ok:1' echo 'uid:42' echo 'gid:21' echo 'dir:/home/j' echo 'end' AUTHORS
Frank DENIS <j at pureftpd dot org> SEE ALSO
ftp(1), pure-ftpd(8) pure-ftpwho(8) pure-mrtginfo(8) pure-uploadscript(8) pure-statsdecode(8) pure-pw(8) pure-quotacheck(8) pure-authd(8) RFC 959, RFC 2389, RFC 2228 and RFC 2428. Pure-FTPd team 1.0.36 pure-authd(8)
All times are GMT -4. The time now is 05:08 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy