Filter » History » Version 6
Per Amundsen, 08/13/2014 10:18 AM
| 1 | 1 | Per Amundsen | _Added in 1.9.4_ |
|---|---|---|---|
| 2 | |||
| 3 | */filter [-asdfkwxnpriocteubglLz] [n-n2] [c s] <infile | dialog id> <outfile | dialog id | alias> [alias] <matchtext>* |
||
| 4 | 2 | Per Amundsen | |
| 5 | 3 | Per Amundsen | Scans lines of text in a window, file or dialog control, any matches are then written out to another window, file, or dialog control. |
| 6 | The order of the switch are important, they define what is the infile and what is the outfile, see the examples for more information. |
||
| 7 | |||
| 8 | 6 | Per Amundsen | You can filter blank lines by specifying [[$crlf]] for the matchtext. |
| 9 | |||
| 10 | 3 | Per Amundsen | The [[$filtered]] identifier will retrieve the number of matches found. |
| 11 | |||
| 12 | 1 | Per Amundsen | *Switches* |
| 13 | |||
| 14 | 5 | Per Amundsen | -w - indicates the parameter is a window |
| 15 | -f - indicates the parameter is a file |
||
| 16 | -a - sorts filtered lines by calling the optional [alias] parameter, the alias is passed two lines, $1 and $2, it must compare both and return -1, 0, or 1 to indicate relative sort order of these lines to each other |
||
| 17 | -x - excludes matching lines |
||
| 18 | -n - prefixes lines with a line number (the Nth match) |
||
| 19 | -d - TODO |
||
| 20 | -s - indicates the status window will be used |
||
| 21 | -p - TODO |
||
| 22 | -r - specifies the range of lines n to n2 for filtering |
||
| 23 | -b - strips BURK codes when matching text |
||
| 24 | -g - indicates the matchtext is a regular expression |
||
| 25 | -z - TODO |
||
| 26 | -k - indicates that you have specified an <alias> as the output instead of a window name. The alias will be called with the result of each filtered line with the form $<alias>($1) where $1 is the matched line |
||
| 27 | -i - indicates that you have provided a [dialog id] custom dialog control as the input |
||
| 28 | -o - indicates that you have provided a [dialog id] custom dialog control as the output |
||
| 29 | -c - switch clears the output window/file before writing to it |
||
| 30 | -t - TODO |
||
| 31 | -e - TODO |
||
| 32 | -u - TODO |
||
| 33 | -l - filters from the side-listbox in the first window |
||
| 34 | -L - filters to the side-listbox in the second window |
||
| 35 | 3 | Per Amundsen | |
| 36 | *Parameters* |
||
| 37 | |||
| 38 | [n-n2] - if -r is used, indicates the range of lines to be scanned* |
||
| 39 | [c s] - if -t is used, indicates how to do the sort |
||
| 40 | <infile | dialog id> - if no switch implies a window's name to be use as the infile, you must provide an infile (a window, a file, or a dialog control) |
||
| 41 | <outfile | dialog id | alias> - if no switch implies a window's name to be used as the outfile, you must provide an outfile (a window, a file, a dialog control, or an alias name if -k is used) |
||
| 42 | 1 | Per Amundsen | [alias] - optional alias called if -a is used |
| 43 | 6 | Per Amundsen | <matchtext> - the expression used for the search, if [[$null]] is used, it matches everything. |
| 44 | 3 | Per Amundsen | |
| 45 | <pre> |
||
| 46 | ;filter from the file "c:\my file.txt" to the custom window @mywin |
||
| 47 | /filter -fw "c:\my file.txt" @mywin *findthis* |
||
| 48 | |||
| 49 | ;filter from the custom window @mywin to the file "c:\my file.txt" |
||
| 50 | filter -wf @mywin "c:\my file.txt" *findthat* |
||
| 51 | |||
| 52 | ;filter from the status window to the single message window |
||
| 53 | /filter -sd *findthis* |
||
| 54 | |||
| 55 | ;filter from the single message window to the status window |
||
| 56 | /filter -ds *findthat* |
||
| 57 | |||
| 58 | ;filter from the filename @this_is_a_file to the dialog 'dialog', id '1' |
||
| 59 | /filter -fo @this_is_a_file dialog 1 *findthis* |
||
| 60 | |||
| 61 | ;filter from a file and call an alias for each line |
||
| 62 | /filter -fk file myalias *findthat* |
||
| 63 | |||
| 64 | ;filter from a file to a file using regex |
||
| 65 | /filter -ffg file1 file2 /regex here/ |
||
| 66 | </pre> |