04-11-2008
sed very confused
Hello experts,
I have this complicated code that output value in between pattern and add "a string" to the front of the output.
The problems I have many pattern that are the same.
so I want to know how to get the value between 1st pattern, 2nd pattern etc.
Any suggestions?
sed -n '/<pattern>/s/.*>\(.*\)<.*/a string\1/gp' file
file:
<Pattern>file<\Pattern>
<Pattern>file2<\Pattern>
..
<Pattern>file3<\Pattern>
..
<Pattern>file4<\Pattern>
sed -n '/<pattern>/s/.*>\(.*\)<.*/string=\1/gp' file
returns:
string=file
string=file2
string=file3
string=file4
but I want a sed command that gets only the value between the 3rd occurrence of pattern
string=file3
Last edited by minifish; 04-11-2008 at 06:04 PM..
8 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
Hi,,,
is there any possibility to install Linux in my P.C which is use Win98 without loose anything from my hard disk????
----------------------------------------------------------------------------------
Is it better for a newbie in this kind of OS to install Linux instead of... (5 Replies)
Discussion started by: spyros
5 Replies
2. UNIX for Dummies Questions & Answers
hi! how when i'm chattin inside com there was this chatter andi don't know what he did but he saw all my files inside my shell. what did he do? (4 Replies)
Discussion started by: hapiworm
4 Replies
3. Shell Programming and Scripting
may i know what
cp $1 $2
$0 $2
does? (12 Replies)
Discussion started by: C|[anti-trust]
12 Replies
4. Solaris
I am confused c#t#d#s# once I learn the following :
slice 0 ...... 0 to 2520
slice 1....... 2521 to 2840
slice 6........2841 to 8891
slice 2........0 to 8891
really really confused. Please explain. (8 Replies)
Discussion started by: deltakutty
8 Replies
5. Ubuntu
Hello,
I am having a problem with Dual Booting Windows XP Pro and Linux Mint.
I have Three Hard Drives,
One Hard Drive has Linux Mint Loaded on it. When it is hooked up to the computer by itself it works great. This is an IDE Drive.
The Second Hard Drive has Window XP Pro loaded on it.... (3 Replies)
Discussion started by: Forextrading
3 Replies
6. Shell Programming and Scripting
echo "abc 123" | sed 's/*/& &/g'
output:
a b c 123 123
Why there are spaces between the "abc" letters?
echo "abc 123" | sed 's/*/&&/'
output:
abc 123
Why the regex in the above script does not match anything? I thought * should match 123 in any case.
---------- Post updated at 08:25... (3 Replies)
Discussion started by: kevintse
3 Replies
7. UNIX for Dummies Questions & Answers
Yes I know this is a bad use of cat, but just ignore it please :P
My problem is with sed.
File: "newFile" contains:
day
Command I run:
cat newFile | sed 's/day/night'
This returns:
sed: -e expression #1, char 11: unterminated `s' command
Why??? (1 Reply)
Discussion started by: maximus73
1 Replies
8. Shell Programming and Scripting
Hi Gurus,
I am a little bit confused by the sed command.
my file is below
cat sample
aaa
bbb
ccc
ddd
eee
fff
ggg
hhh
iii
below is command and output. (6 Replies)
Discussion started by: ken6503
6 Replies
LEARN ABOUT HPUX
evmeventnamematch
EvmEventNameMatch(3) Library Functions Manual EvmEventNameMatch(3)
NAME
EvmEventNameMatch(), EvmEventNameMatchStr() - match EVM event name
SYNOPSIS
Library
EVM Support Library
Parameters
pattern The event name pattern sought. The pattern may be any valid event name string. It may include wildcard characters in place
of any component.
event The event containing the event name to be compared against the pattern.
match The result of the match. This operand is set to if the name matches the pattern, and to if it does not.
candidate A character string to be matched against the pattern
DESCRIPTION
Because special matching rules apply when deciding whether a candidate event name matches a known name, the EVM name matching functions
should be used for matching purposes, rather than the C string comparison functions The EVM functions match an event name against a sup-
plied pattern, ignoring any trailing appended components in the candidate name, and correctly matching wildcard characters.
The function takes an event and an event name pattern as input, and returns an indication of whether the event contains a name which
matches the pattern in the match output argument. The pattern may be any valid event name string, and may also include wildcard characters
in place of any component. A wildcard in the pattern matches zero or more name components. A matches exactly one component. A match
occurs if the event name matches all components indicated by the pattern, even if the name has additional trailing elements.
The function performs the same check as but takes a character string as the candidate event name, instead of extracting the candidate event
name from a supplied event.
Both functions set the match output argument to if the name matches the pattern, and to if it does not.
RETURN VALUE
The operation completed without error. The comparison was successful. The value of the match operand indicates whether the name matches
the pattern.
One of the arguments to the function is invalid.
The supplied pattern contains invalid characters.
The supplied event does not contain a name.
ERRORS
The value of is not set.
SEE ALSO
Routines
memccpy(3C), strcat(3C).
Event Management
EVM(5).
EVM Events
EvmEvent(5).
EvmEventNameMatch(3)