Sponsored Content
Top Forums Shell Programming and Scripting sed pattern matching question Post 302518171 by mirni on Thursday 28th of April 2011 07:33:55 PM
Old 04-28-2011
Quote:
From what I can tell the whole string (ABCD|/p) is a literal.
Mmmmm... no.
The string 'ABCD|' is a literal, the rest '/p' is the end of regex ('/') and print command ('p'). So the first sed command
Code:
sed -n -e '/^.*ABCD|/p'

is an instruction to print only lines containing 'ABCD|'. There is some redundancy there; the following would do the same:
Code:
sed -n -e '/ABCD|/p'

The second sed removes the beginning of line until ABCD| including. Note that matching here is greedy, so if you have multiple instances of ABCD| there, the pattern is gonna match the longest possible substring. E.g.:
Code:
$ echo "blah|ABCD|hhhh|fals.;and&+324ABCD|ooo|ABCD" | sed -e 's/^.*ABCD|//' 
ooo|ABCD

The third one removes trailing '|ABCD'

We could simplify this as :
Code:
sed -n '/ABCD|/{  #do the following on lines containing "ABCD|"
            s/^.*ABCD|// ;  #eat the longest substring from beginning to "ABCD|"
            s/|ABCD$//;     # eat the  last "|ABCD" just before end of line
            p }'               # and print it


Last edited by mirni; 04-28-2011 at 08:40 PM..
This User Gave Thanks to mirni For This Post:
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

pattern matching + perl question

i can only find the first occurance of a pattern how do i set it to loop untill all occurances have changed. #! /usr/bin/perl use POSIX; open (DFH_FILE, "./dfh") or die "Can not read file ($!)"; foreach (<DFH_FILE>) { if ($_ !~ /^#|^$/) { chomp; ... (1 Reply)
Discussion started by: Optimus_P
1 Replies

2. Shell Programming and Scripting

Pattern matching question

Hi guys, I have the following expression : typeset EXBYTEC_CHK=`egrep ^"+${PNUM}" /bb/data/firmexbytes.dta` can anybody please explain to me what ^"+${PNUM}" stands for in egrep statement? Thanks -A (3 Replies)
Discussion started by: aoussenko
3 Replies

3. Shell Programming and Scripting

SED Question: Search and Replace start of line to matching pattern

Hi guys, got a problem here with sed on the command line. If i have a string as below: online xx:wer:xcv: sdf:/asdf/http:https-asdfd How can i match the pattern "http:" and replace the start of the string to the pattern with null? I tried the following but it doesn't work: ... (3 Replies)
Discussion started by: DrivesMeCrazy
3 Replies

4. Shell Programming and Scripting

Pattern matching question

Hi, I am writing a simple log parsing system and have a question on pattern matching. It is simply grep -v -f patterns.re /var/log/all.log Now, I have the following in my logs Apr 16 07:33:17 ad-font-dc1 EvntSLog: AD-FONT-DC1/NTDS ISAM (700) - "NTDS (384) NTDSA: Online defragmentation... (5 Replies)
Discussion started by: wpfontenot
5 Replies

5. Shell Programming and Scripting

pattern matching question

Hi guys, I have a file in the following format: 4222 323K 323L D222 494 8134 A023 A024 49 812A 9871 9872 492 A961 A962 A963 491 0B77 0B78 0B79 495 0B7A 0B7B 0B7C 4949 WER9 444L 999O I need to grep the line... (5 Replies)
Discussion started by: aoussenko
5 Replies

6. Shell Programming and Scripting

Pattern matching question

Hi Guys, I am trying to setup a check for the string using an "if" statement. The valid entry is only the one which contain Numbers and Capital Alpha-Numeric characters, for example: BA6F, BA6E, BB21 etc... I am using the following "if" constract to check the input, but it fails allowing Small... (3 Replies)
Discussion started by: aoussenko
3 Replies

7. Shell Programming and Scripting

pattern matching question

Hi Guys I am trying to check if the pattern "# sign followed by one or several tabs till the end of the line" exists in my file. I am using the following query: $ cat myfile | nawk '{if(/^#\t*$/) print "T"}' Unfortunately it does not return the desired output since I know for sure that the line... (4 Replies)
Discussion started by: aoussenko
4 Replies

8. Shell Programming and Scripting

pattern matching question

Hi guys I have the following case statement in my script: case $pn.$db in *?.fcp?(db)) set f ${pn} cp ;; *?.oxa?(oxa) ) set oxa $pn ;; esac Can somebody help me to understand how to interpret *?.fcp?(db)) or *?.oxa?(oxa) ? I cannot figure out how in this case pattern maching... (5 Replies)
Discussion started by: aoussenko
5 Replies

9. Shell Programming and Scripting

Sed: printing lines AFTER pattern matching EXCLUDING the line containing the pattern

'Hi I'm using the following code to extract the lines(and redirect them to a txt file) after the pattern match. But the output is inclusive of the line with pattern match. Which option is to be used to exclude the line containing the pattern? sed -n '/Conn.*User/,$p' > consumers.txt (11 Replies)
Discussion started by: essem
11 Replies

10. Shell Programming and Scripting

Bash pattern matching question

I need to check the condition of a variable before the script continues and it needs to match a specific pattern such as EPS-03-0 or PDF-02-1. The first part is a 3 or 4 letter string followed by a hyphen, then a 01,02 or 03 followed by a hyphen then a 0 or a 1. I know I could check for every... (4 Replies)
Discussion started by: stormcel
4 Replies
dsmemberutil(1) 					    BSD General Commands Manual 					   dsmemberutil(1)

NAME
dsmemberutil -- various operations for the membership APIs, including state dump, check memberships, UUIDs, etc. SYNOPSIS
dsmemberutil [-v] [-h] command [options] DESCRIPTION
dsmemberutil is a program that implements the membership API calls in a command line utility. FLAGS
A list of flags and their descriptions: -h Lists the options for calling dsmemberutil -v Causes dsmemberutil to operate in verbose mode. COMMANDS
The action of each command is described below: getuuid -ugUGsS value Takes any of the options and returns the associated UUID. getid -UGsSX value Takes any of the options and returns the associated UID or GID depending on option provided. getsid -ugUGX value Takes any of the options and returns the associated SID. checkmembership -uUxs param -gGXS param Returns if a user or group with the associated option is a member of the group. flushcache Flushes the current membership cache. Legacy commands such as dumpstate and statistics are gone. See odutil(1) for show cache and statistics operations. A list of options available. In some cases -xX and -sS can be used synonymously due to nature of the value. -u uid Using user with UID -U name Using user with name -s sid Using user with SID -x uuid Using user with UUID -g gid Using group with GID -G name Using group with name -S sid Using group with SID -X uuid Using group with UUID EXAMPLES
Get a user's uuid: % dsmemberutil getuuid -u 501 EEA4F2F6-B268-49E7-9C6F-E3C4A37DA4FD Get a group's uuid % dsmemberutil getuuid -g 0 ABCDEFAB-CDEF-ABCD-EFAB-CDEF00000000 Get a user's or group's id from a uuid % dsmemberutil getid -X ABCDEFAB-CDEF-ABCD-EFAB-CDEF0000000C gid: 12 Check a user's membership in a group (using UID and GID) % dsmemberutil checkmembership -u 501 -g 0 user is not a member of the group Check a user's membership in a group (using names) % dsmemberutil checkmembership -U root -G wheel user is a member of the group SEE ALSO
odutil(1), dseditgroup(1), dscacheutil(1) Darwin Jan 1, 2007 Darwin
All times are GMT -4. The time now is 06:49 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy