core/builtins/match.cif
author Tom Sutcliffe <thomas.sutcliffe@accenture.com>
Wed, 13 Oct 2010 12:53:17 +0100
changeset 67 84fefe1cd57f
parent 66 2a78c4ff2eab
permissions -rw-r--r--
merge

# match.cif
# 
# Copyright (c) 2010 Accenture. All rights reserved.
# This component and the accompanying materials are made available
# under the terms of the "Eclipse Public License v1.0"
# which accompanies this distribution, and is available
# at the URL "http://www.eclipse.org/legal/epl-v10.html".
# 
# Initial Contributors:
# Accenture - Initial contribution
#

==name match

==short-description

Print to C<stdout> any lines of C<stdin> that match a particular pattern.

==long-description

Note, does not support regular expressions, only Symbian's descriptor wild characters (aka C<TDesC::Match()>. Since these don't explicitly support anchoring (functionality provided by C<^> and C<$> in regular expressions) if you want to match an word within a line you need to put C<*> characters at either end of the pattern string. If you don't, then the match will be implicitly anchored to either end of the line.

==argument string pattern

The pattern to be matched. Symbian descriptor wild characters supported.

==option bool i ignore-case

Ignore case distinctions.

==option bool v invert-match

Print lines that do B<not> match.

==option bool c count

Don't print the lines that match, just count them and print the total at the end. If used with C<--invert-match>, counts the number of non-matching lines.

==copyright

Copyright (c) 2006-2010 Accenture. All rights reserved.

==see-also

L<grep|grep>

==smoke-test

echo "Test line of some sort^r^nIsn't fshell great?^r^nSome other line" | export -s TESTDATA
echo "$TESTDATA" | match *fshell* | export -s RESULT
var RESULT == "Isn't fshell great?^r^n" || $Error

# Test anchored search
echo "$TESTDATA" | match Some* | export -s RESULT
var RESULT == "Some other line^r^n" || $Error