09-12-2008
Different Regex trick -- grouping
You put the \( in the wrong place
Correct version:
echo $thing | sed 's/hat:\([0-9]*[0-9]-[0-9]*[0-9]*\).*/\1/'
You could probably recuce that to:
echo $thing | sed 's/hat:\([0-9]*-[0-9]*\).*/\1/'
Maybe even:
echo $thing | sed 's/hat:\([0-9-]*\).*/\1/'
(not too sure about the usage of '-' between '[' and ']'
\( and \) are markers where your 'group' begins and ends.
That same group is later recalled with \1
Yes, you can use multiple \( and \) and then recall those with \1, \2, \3, etc...
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
Is there an easier way to do the following:
echo "|||||||" | sed 's/||/|0|/g; s/||/|0|/g'
which would give the following
|0|0|0|0|0|0|
If it is not run twice it will not pick up the second occurance of the || and leave it empty as in
echo "|||||||" | sed 's/||/|0|/g'
which would give... (3 Replies)
Discussion started by: maverick
3 Replies
2. UNIX for Dummies Questions & Answers
hi,
i would like to replace a string in a series of files with another string, without outputting to new files. is this possible?
i've tried using sed, and started by trying to alter the contents of one file...
sed 's/string1/string2/g' file.txt
but while this does the replacement on... (2 Replies)
Discussion started by: schmark
2 Replies
3. Shell Programming and Scripting
Hello,
I've got a problem with SED. It's my intention to shorten a file path (removing the file name) with the help of SED. Something like:
tmp\folder1\folder2\blah.txt has to be transformed to
tmp\folder1\folder2\.
I suppose, it's on the tip of my tongue. Perhaps it's close to:
sed... (2 Replies)
Discussion started by: sysadv
2 Replies
4. Shell Programming and Scripting
I am obviously missing something here, but the following simple command is giving me problems:
sed 'i\extratext' filename.txt
I receive "sed: command garbled: i\extratext' "
Any suggestions?
Thanks. (6 Replies)
Discussion started by: here2learn
6 Replies
5. UNIX for Dummies Questions & Answers
Hello. Just trying to write this line to an empty file. CAT shows nothing was written. Any suggestions or answers?
#!/bin/bash -x
THIS=FIRSTLINE
sed '1w '$THIS'' testfile
cat testfile
Thank you. (2 Replies)
Discussion started by: steveramsey
2 Replies
6. UNIX for Dummies Questions & Answers
Hi,
I have the following file:
--#
--#line1
--#line2
--#line3
--#
--#line4
--#line5
and I want to use something like:
sed 's/--#/newline/g' file > newfile
to substitute the lines containing only '--#', but when I try, it replaces every instance of '--#' with 'newline' and I... (7 Replies)
Discussion started by: Dave724001
7 Replies
7. Shell Programming and Scripting
I have output like the following:
B D 20070116095820001 N D S0000579.LOG S0000582.LOG
B D 20070116095750001 N D S0000574.LOG S0000576.LOG
B D 20070116095734001 N D S0000570.LOG S0000573.LOG
B D 20070116095705001 N D S0000569.LOG S0000569.LOG
B D ... (5 Replies)
Discussion started by: rdudejr
5 Replies
8. Shell Programming and Scripting
hi
is it possible to cut this two semicolon separated sed commands
echo "string2 string3 string1" | sed s'/string1//g;s/string2//g'
output: " string3 "
to just one sed command without semicolon?
thanks in advance
funksen (10 Replies)
Discussion started by: funksen
10 Replies
9. Shell Programming and Scripting
I have some troubles with this:
insert (at the beginning of line) character "#" from line 5 to line 15 (3 Replies)
Discussion started by: aspire
3 Replies
10. Shell Programming and Scripting
Im usind se as follows,
sed 's/**** DRAFT ****/ /' a.lst > b.lst
'**** DRAFT ****'
in a.lst goes to' ****' in b.lst
Does anyone know the right syntax?
Thanks!!
---------- Post updated at 11:02 AM ---------- Previous update was at 11:00 AM ----------
... (4 Replies)
Discussion started by: ttilsch
4 Replies
LEARN ABOUT SUSE
mod_apparmor
MOD_APPARMOR(8) AppArmor MOD_APPARMOR(8)
NAME
mod_apparmor - fine-grained AppArmor confinement for Apache
DESCRIPTION
An AppArmor profile applies to an executable program; if a portion of the program needs different access permissions than other portions,
the program can "change hats" via aa_change_hat(2) to a different role, also known as a subprofile. The mod_apparmor Apache module uses
the aa_change_hat(2) mechanism to offer more fine-grained confinement of dynamic elements within Apache such as individual php and perl
scripts, while still allowing the performance benefits of using mod_php and mod_perl.
To use mod_apparmor with Apache, ensure that mod_apparmor is configured to be loaded into Apache, either via a2enmod, yast or manual
editing of the apache2(8)/httpd(8) configuration files, and restart Apache. Make sure that apparmor is also functioning.
Once mod_apparmor is loaded within Apache, all requests to Apache will cause mod_apparmor to attempt to change into a hat named by the URI
(e.g. /app/some.cgi). If no such hat is found, it will fall back to attempting to use the hat DEFAULT_URI; if that also does not exist, it
will fall back to using the global Apache profile. Most static web pages can simply make use of the DEFAULT_URI hat.
Additionally, before any requests come in to Apache, mod_apparmor will attempt to change hat into the HANDLING_UNTRUSTED_INPUT hat.
mod_apparmor will attempt to use this hat while Apache is doing the initial parsing of a given http request, before its given to a specific
handler (like mod_php) for processing.
Because defining hats for every URI/URL often becomes tedious, mod_apparmor provides the AAHatName and AADefaultHatName Apache
configuration options.
AAHatName
AAHatName allows you to specify a hat to be used for a given Apache <Directory>, <DirectoryMatch>, <Location> or <LocationMatch>
directive (see the Apache documenation for more details). Note that mod_apparmor behavior can become confused if <Directory*> and
<Location*> directives are intermingled and it is recommended to use one type of directive. If the hat specified by AAHatName does not
exist in the Apache profile, then it falls back to the behavior described above.
AADefaultHatName
AADefaultHatName allows you to specify a default hat to be used for virtual hosts and other Apache server directives, so that you can
have different defaults for different virtual hosts. This can be overridden by the AAHatName directive and is checked for only if there
isn't a matching AAHatName or hat named by the URI. If the AADefaultHatName hat does not exist, it falls back to the DEFAULT_URI hat if
it exists (as described above).
URI REQUEST SUMMARY
When profiling with mod_apparmor, it is helpful to keep the following order of operations in mind:
On each URI request, mod_apparmor will first aa_change_hat(2) into ^HANDLING_UNTRUSTED_INPUT, if it exists.
Then, after performing the initial parsing of the request, mod_apparmor will:
1. try to aa_change_hat(2) into a matching AAHatName hat if it exists and applies, otherwise it will
2. try to aa_change_hat(2) into the URI itself, otherwise it will
3. try to aa_change_hat(2) into an AADefaultHatName hat if it has been defined for the server/vhost, otherwise it will
4. try to aa_change_hat(2) into the DEFAULT_URI hat, if it exists, otherwise it will
5. fall back to the global Apache policy
BUGS
mod_apparmor() currently only supports apache2, and has only been tested with the prefork MPM configuration -- threaded configurations of
Apache may not work correctly.
There are likely other bugs lurking about; if you find any, please report them at <http://https://bugs.launchpad.net/apparmor/+filebug>.
SEE ALSO
apparmor(7), subdomain.conf(5), apparmor_parser(8), aa_change_hat(2) and <http://wiki.apparmor.net>.
AppArmor 2.7.103 2012-06-28 MOD_APPARMOR(8)