Sponsored Content
Full Discussion: ksh pattern matching
Top Forums Shell Programming and Scripting ksh pattern matching Post 302166031 by fpmurphy on Sunday 10th of February 2008 12:13:28 PM
Old 02-10-2008
I assume you are talking about section 4.3 (String Operators) of LTKS

Code:
#!/usr/bin/ksh93

echo ${.sh.version}
var='A regular expressions test'

echo "1>  //e/#"
echo ${var//e/#}
echo "2>  //[^e]/#"
echo ${var//[^e]/#}
echo "3>  //+(e)/#"
echo ${var//+(e)/#}
echo "4>  //-(e)/#"
echo ${var//-(e)/#}
echo "5>  //?(e)/#"
echo ${var//?(e)/#}
echo "6>  //*(e)/#"
echo ${var//*(e)/#}
echo "7>  //!(e)/#"
echo ${var//!(e)/#}

Gives the following output

Code:
Version M 1993-12-28 s+
1>  //e/#
A r#gular #xpr#ssions t#st
2>  //[^e]/#
###e######e###e########e##
3>  //+(e)/#
A r#gular #xpr#ssions t#st
4>  //-(e)/#
A regular expressions test
5>  //?(e)/#
###########################
6>  //*(e)/#
###########################
7>  //!(e)/#
#

Interesting! I am not sure what is going on.

Last edited by fpmurphy; 02-10-2008 at 01:27 PM..
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

comment/delete a particular pattern starting from second line of the matching pattern

Hi, I have file 1.txt with following entries as shown: 0152364|134444|10.20.30.40|015236433 0233654|122555|10.20.30.50|023365433 ** ** ** In file 2.txt I have the following entries as shown: 0152364|134444|10.20.30.40|015236433 0233654|122555|10.20.30.50|023365433... (4 Replies)
Discussion started by: imas
4 Replies

2. Shell Programming and Scripting

counting the lines matching a pattern, in between two pattern, and generate a tab

Hi all, I'm looking for some help. I have a file (very long) that is organized like below: >Cluster 0 0 283nt, >01_FRYJ6ZM12HMXZS... at +/99% 1 279nt, >01_FRYJ6ZM12HN12A... at +/99% 2 281nt, >01_FRYJ6ZM12HM4TS... at +/99% 3 283nt, >01_FRYJ6ZM12HM946... at +/99% 4 279nt,... (4 Replies)
Discussion started by: d.chauliac
4 Replies

3. Shell Programming and Scripting

sed - matching pattern one but not pattern two

All, I have the following file: -------------------------------------- # # /etc/pam.d/common-password - password-related modules common to all services # # This file is included from other service-specific PAM config files, # and should contain a list of modules that define the services... (2 Replies)
Discussion started by: RobertBerrie
2 Replies

4. Shell Programming and Scripting

Pattern matching in ksh

In the Korn shell is it possible to truncate a pattern like this: - ) ]] So that it is not necessary to enter 8 times? (2 Replies)
Discussion started by: steadyonabix
2 Replies

5. Shell Programming and Scripting

ksh Multiple Pattern Matching Operators

I figured this would be simple, but I am stuck. Variable longpath="/dir1/dir2/dir3/filename.stuff.morestuff.garbage" I want to end up with just "filename.extra.moreextra". So, I want to get rid of the path and .garbage I want to do this with just ksh internals. So, no sed,grep,awk,expr,... (4 Replies)
Discussion started by: Topaz
4 Replies

6. UNIX for Dummies Questions & Answers

Find pattern suffix matching pattern

Hi, I am trying to get a result out of this but fails please help. Have two files /tmp/1 & /tmp/hosts. /tmp/1 IP=123.456.789.01 WAS_HOSTNAME=abcdefgh.was.tb.dsdc /tmp/hosts 123.456.789.01 I want this result in /tmp/hosts if hostname is already there dont want duplicate entry. ... (5 Replies)
Discussion started by: rajeshwebspere
5 Replies

7. 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

8. Shell Programming and Scripting

PHP - Regex for matching string containing pattern but without pattern itself

The sample file: dept1: user1,user2,user3 dept2: user4,user5,user6 dept3: user7,user8,user9 I want to match by '/^dept2.*/' but don't want to have substring 'dept2:' in output. How to compose such regex? (8 Replies)
Discussion started by: urello
8 Replies

9. UNIX for Dummies Questions & Answers

Grep -v lines starting with pattern 1 and not matching pattern 2

Hi all! Thanks for taking the time to view this! I want to grep out all lines of a file that starts with pattern 1 but also does not match with the second pattern. Example: Drink a soda Eat a banana Eat multiple bananas Drink an apple juice Eat an apple Eat multiple apples I... (8 Replies)
Discussion started by: demmel
8 Replies

10. Shell Programming and Scripting

Big pattern file matching within another pattern file in awk or shell

Hi I need to do a patten match between files . I am new to shell scripting and have come up with this so far. It take 50 seconds to process files of 2mb size . I need to tune this code as file size will be around 50mb and need to save time. Main issue is that I need to search the pattern from... (2 Replies)
Discussion started by: nitin_daharwal
2 Replies
CGI::FormBuilder::Template::CGI_SSI(3pm)		User Contributed Perl Documentation		  CGI::FormBuilder::Template::CGI_SSI(3pm)

NAME
CGI::FormBuilder::Template::CGI_SSI - FormBuilder interface to CGI::SSI SYNOPSIS
my $form = CGI::FormBuilder->new( fields => @fields, template => { type => 'CGI_SSI', file => "template.html", }, ); DESCRIPTION
This engine adapts FormBuilder to use "CGI::SSI". You can specify any options which "CGI::SSI->new" accepts by using a hashref: my $form = CGI::FormBuilder->new( fields => @fields, template => { type => 'CGI::SSI', file => 'form.shtml', sizefmt => 'abbrev' } ); In addition to CGI::SSI new arguments, you can also specify "file", "virtual", or "string" argument. The following methods are provided (usually only used internally): engine Returns a reference to the "CGI::SSI" object prepare Returns a hash of all the fields ready to be rendered. render Uses the prepared hash and expands the template, returning a string of HTML. TEMPLATES
In your template, each of the form fields will correspond directly to a "<!--#echo -->" of the same name prefixed with "field-" in the template. So, if you defined a field called "email", then you would setup a variable called "<!--#echo var="field-email" -->" in your template. In addition, there are a couple special fields: <!--#echo var="js-head" --> - JavaScript to stick in <head> <!--#echo var="form-title" --> - The <title> of the HTML form <!--#echo var="form-start" --> - Opening <form> tag and internal fields <!--#echo var="form-submit" --> - The submit button(s) <!--#echo var="form-reset" --> - The reset button <!--#echo var="form-end" --> - Just the closing </form> tag Let's look at an example "form.html" template we could use: <html> <head> <title>User Information</title> <!--#echo var="js-head" --><!-- this holds the JavaScript code --> </head> <!--#echo var="form-start" --><!-- this holds the initial form tag --> <h3>User Information</h3> Please fill out the following information: <!-- each of these <!--#echo -->'s corresponds to a field --> <p>Your full name: <!--#echo var="field-name" --> <p>Your email address: <!--#echo var="field-email" --> <p>Choose a password: <!--#echo var="field-password" --> <p>Please confirm it: <!--#echo var="field-confirm_password--> <p>Your home zipcode: <!--#echo var="field-zipcode --> <p> <!--#echo var="form-submit" --><!-- this holds the form submit button --> </form><!-- can also use "tmpl_var form-end", same thing --> As you see, you get a "<!--#echo -->" for each for field you define. However, you may want even more control. That is, maybe you want to specify every nitty-gritty detail of your input fields, and just want this module to take care of the statefulness of the values. This is no problem, since this module also provides several other "<tmpl_var>" tags as well: <!--#echo var="value-[field] --> - The value of a given field <!--#echo var="label-[field] --> - The human-readable label <!--#echo var="comment-[field] --> - Any optional comment <!--#echo var="error-[field] --> - Error text if validation fails <!--#echo var="required-[field] --> - See if the field is required This means you could say something like this in your template: <!--#echo var="label-email" -->: <input type="text" name="email" value="<!--#echo var="value-email" -->"> <font size="-1"><i><!--#echo var="error-email" --></i></font> And FormBuilder would take care of the value stickiness for you, while you have control over the specifics of the "<input>" tag. A sample expansion may create HTML like the following: Email: <input type="text" name="email" value="nate@wiger.org"> <font size="-1"><i>You must enter a valid value</i></font> Note, though, that this will only get the first value in the case of a multi-value parameter (for example, a multi-select list). Multiple values (loops) in "CGI_SSI" are not yet implemented. For more information on templates, see HTML::Template. SEE ALSO
CGI::FormBuilder, CGI::FormBuilder::Template, HTML::Template REVISION
$Id: HTML.pm 97 2007-02-06 17:10:39Z nwiger $ AUTHOR
Copyright (c) Nate Wiger <http://nateware.com>. All Rights Reserved. This module is free software; you may copy this under the terms of the GNU General Public License, or the Artistic License, copies of which should have accompanied your Perl kit. perl v5.14.2 2011-09-16 CGI::FormBuilder::Template::CGI_SSI(3pm)
All times are GMT -4. The time now is 09:28 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy