txt2regex-0.8/0040775000231000023120000000000010126352617013174 5ustar aurelioaureliotxt2regex-0.8/Makefile0100644000231000023120000000640710126350767014642 0ustar aurelioaurelioNAME = txt2regex VERSION = 0.8 SHSKEL = $(NAME)-$(VERSION).sh DISTDIR = $(NAME)-$(VERSION) PODIR = po TESTDIR = test-suite FILES = Makefile README README.japanese NEWS Changelog COPYRIGHT TODO $(SHSKEL) $(PODIR) tools $(TESTDIR) $(NAME).man DESTDIR = BINDIR = $(DESTDIR)/usr/bin LOCALEDIR = $(DESTDIR)/usr/share/locale MANDIR = $(DESTDIR)/usr/share/man/man1 TARGET=all clean: rm -f {,po/}messages po/*.{mo,old,tmp,bk} test-suite/javascript.html $(NAME) find po -mindepth 1 -type d -exec rm -rf {} \; check-po-dir: @if [ ! -d $(PODIR) ]; then \ echo "warning: directory '$(PODIR)' not found. nothing to do."; \ exit 1;\ fi # shit, bash <<-HEREDOC seems to doesn't work inside Makefile... pot: check-po-dir @cd $(PODIR); \ DATE=`date '+%Y-%m-%d %H:%M %Z'`;\ echo '#, fuzzy' > $(NAME).pot.tmp;\ echo 'msgid ""' >> $(NAME).pot.tmp;\ echo 'msgstr ""' >> $(NAME).pot.tmp;\ echo '"Project-Id-Version: $(NAME) $(VERSION)\n"' >> $(NAME).pot.tmp;\ echo "\"POT-Creation-Date: $$DATE\n\"" >> $(NAME).pot.tmp;\ echo '"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"' >> $(NAME).pot.tmp;\ echo '"Last-Translator: FULL NAME \n"' >> $(NAME).pot.tmp;\ echo '"Language-Team: LANGUAGE \n"' >> $(NAME).pot.tmp;\ echo '"MIME-Version: 1.0\n"' >> $(NAME).pot.tmp;\ echo '"Content-Type: text/plain; charset=iso-8859-1\n"' >> $(NAME).pot.tmp;\ echo '"Content-Transfer-Encoding: 8bit\n"' >> $(NAME).pot.tmp;\ bash --dump-po-strings ../$(SHSKEL) >> $(NAME).pot.tmp;\ ../tools/bashdump-rmdup.sh $(NAME).pot.tmp > $(NAME).pot;\ grep '##duplicated##' $(NAME).pot; po: check-po-dir @cd $(PODIR) && \ for pot in *.po; do \ echo -n "merging $$pot..."; \ poti=`echo $$pot | sed 's/\.po$$//'`; \ cp $$pot $$pot.old && \ msgmerge $$pot.old $(NAME).pot > $$pot; \ done mo: check-po-dir @cd $(PODIR) && \ for pot in *.po; do \ echo -n "compiling $$pot..."; \ poti=`echo $$pot | sed 's/\.po$$//'`; \ msgfmt -o $$poti.mo $$pot && \ echo ok; \ done check-po: check-po-dir @cd $(PODIR) && \ for pot in *.po; do \ echo -n "checking $$pot... "; \ msgfmt -v $$pot || exit 1; \ done update-po: pot po mo tgz: clean #check-po mkdir $(DISTDIR) && \ cp -a $(FILES) $(DISTDIR) && \ tar cvzf $(DISTDIR).tgz $(DISTDIR) && \ rm -rf $(DISTDIR) #TODO install man page and README install: mo @[ -d $(LOCALEDIR) ] || mkdir -p $(LOCALEDIR); \ [ -d $(BINDIR) ] || mkdir -p $(BINDIR); \ for pot in `cd $(PODIR) && ls *.mo`; do \ poti=`echo $$pot | sed 's/\.mo$$//'`; \ modir=$(LOCALEDIR)/$$poti/LC_MESSAGES; \ [ -d $$modir ] || mkdir -p $$modir; \ install -m644 $(PODIR)/$$pot $$modir/$(NAME).mo; \ done; \ sed -e '/^TEXTDOMAINDIR=/s,=.*,=$(LOCALEDIR),' \ -e '/^VERSION=/s/=.*/=$(VERSION)/' $(SHSKEL) > $(BINDIR)/$(NAME) && \ chmod +x $(BINDIR)/$(NAME) && \ echo "program '$(NAME)' installed. just run $(BINDIR)/$(NAME)" ###DEVELOPPER ONLY### doc: @txt2tags -t man manpage.t2t; \ txt2tags -t txt README.t2t; \ txt2tags -t html README.t2t manpage.t2t # got interested? http://txt2tags.sf.net ###---### txt2regex-0.8/README0100644000231000023120000001273110126351620014044 0ustar aurelioaureliotxt2regex README file Program : txt2regex Summary : A Regular Expression Wizard, written with bash2 builtins Author : Aurelio Marinho Jargas (verde@aurelio.net) License : GPL Homepage : http://txt2regex.sf.net Description: ^txt2regex$ is a Regular Expression "wizard", all written with bash2 builtins, that converts human sentences to regexes. With a simple interface, you just answer to questions and build your own regex for a large variety of programs, like awk, emacs, grep, perl, php, procmail, python, sed and vim. There are more than 20 supported programs. It's bash so download and run, no compilation needed. ---------------------------------------------------------------------- INSTALL AND RUN =============== Txt2regex will work in ANY system bash works, because it's a bash-only program. This includes Cygwin and Cygwin XFree also. After expand the tarball, do you can simply run the program directly. But if do you want it on your system, or in other language besides english, use the make command. - Just english: untar and run - With i18n: untar, make install and run untar tar xvzf txt2regex-VERSION.tgz cd txt2regex-VERSION run ./txt2regex.sh make install (as root, system install) make install /usr/bin/txt2regex make install (as user, local install) make install BINDIR=. LOCALEDIR=po ./txt2regex Note 1: Play with BINDIR, LOCALEDIR and DESTDIR variables to change the defalt install paths. Note 2: Txt2regex only works in Bash version >= 2.04. ---------------------------------------------------------------------- TESTED PROGRAMS VERSIONS ======================== All regexes and rules the program knows about were extensively tested by hand or by the test-suite program. When the program can't be reached or executed on my machine, the rules were taken: - From the program documentation - Or missing it, from the "Mastering Regular Expressions" O'Reilly book - Or missing it, from Internet documents (Oh no!) Programs that were tested here: - ed: GNU ed version 0.2 - mawk: mawk 1.3.3 Nov 1996 - gawk: GNU Awk 3.0.6 - grep: grep (GNU grep) 2.4.2 - egrep: egrep (GNU grep) 2.4.2 - find: GNU find version 4.1 - javascript: netscape-4.77 - mysql: Ver 11.13 Distrib 3.23.36 - ooo: OpenOffice.org 1.1.0 - perl: v5.6.0 built for i386-linux - php: 4.0.6 - postgres: psql (PostgreSQL) 7.1.2 - procmail: procmail v3.15.1 2001/01/08 - python: Python 2.1 - sed: GNU sed version 3.02.80 - tcl: 8.3 - vi: Nvi 1.79 (10/23/96) - vim: VIM - Vi IMproved 5.8 (2001 May 31) ---------------------------------------------------------------------- TRANSLATIONS MAINTAINERS ======================== "I feel like I could... Like I could... TAKE OVER THE WORLD" de_DE german Jan Parthey en english the author es_ES spanish Diego Moya id_ID bahasa indonesian Muhamad Faizal it_IT italian Daniele Pizzolli ja japanese Hajime Dei pl_PL polish Chris Piechowicz pt_BR brazilian portuguese the author ro_RO romanian Robert Claudiu Gheorghe A nice way to contribute with the project, is to translate its messages to your own language. Just get the po/txt2regex.pot file and translate it, on the "msgstr" lines. In doubt, ask. ---------------------------------------------------------------------- FAQ === - Q: Why? - A: To try to make simple regexes less painful for the beginners - A: To have a reliable source for regexes differences between programs - A: To have coding fun &:) - Q: Why bash2? - A: Basically, for me to learn the new bash2 concepts as arrays, i18n and advanced variable expansion. They rule! - Q: My screen has more than 25 lines, I'm serious! - Q: Why it only uses 80 columns if my screen has more? - Q: I've changed the xterm window size, why it didn't notice that? - A: The program do use the bash environment variables $LINES and $COLUMNS to get the actual screen size. Those MUST be exported variables, or you'll be stucked at the default 80x25 size. Try: /bin/bash -c 'echo $COLUMNS $LINES' If you don't get the screen size, do: echo export COLUMNS LINES >> ~/.bash_profile - Q: Why my bash version is not recognized correctly? - Q: Here bash --version is >=2.04. Why the program gets other? - A: To find your bash version, the program uses the $BASH_VERSION environment variable that is available in all bash versions. If some alien has possessed your machine and your environment don't have this variable, try to set it by hand. Check with echo $BASH_VERSION If this variable is ok, but bash --version returns other version, check if your bash is really /bin/bash: which bash If it's not /bin/bash, you MUST change the first line of the script to your bash's right path. Suppose you have the bash binary in your $HOME because the system's bash is old, just change the first line of the program to: #!/home/YOU/bin/bash Or if you cannot change the program file, call it with bash: bash ./txt2regex Sux, but worx. - Q: What is that that appears when I choose TAB on the special combination menu? - A: Inside lists [], the string is a visual representation of a literal TAB character, for programs wich doesn't support [\t]. ---------------------------------------------------------------------- The End. txt2regex-0.8/README.japanese0100644000231000023120000000147007526674062015651 0ustar aurelioaurelio README - Japanese ----------------- The ^txt2regex$ program uses the a4 hexadecimal char (¤) as its internal field delimiter and as history itens delimiter. But as the same 0xa4 char is also used as a part of Japanese chars, when running original ^txt2regex$ on the Japanese capable terminal, you have meaningless Japanese char on the screen. To avoid this, just change the ¤ char to the ":+:" sequence. This can be done with a your favorite vi/sed/perl/ed oneliner, i.e.: perl -pi -e 's/\xa4/:+:/g' txt2regex I'm still searching for a good internal delimiter that fits to japanese and english users as well. If you know it, tell me! Thanks for IIOKA Shinji and Hajime Dei from ASCII's Linux magazine (http://www.ascii.co.jp/linux/linuxmag) for this information. txt2regex-0.8/NEWS0100644000231000023120000000475110126345710013671 0ustar aurelioaurelioThe hottest news from txt2regex world ------------------------------------- ...and now the apocalipse is comming... --------------------------------------------------------------------------- 2004-09-28: v0.8 released 2004-09-01: It's now part of the various Linux distributions 2004-09-01: It was reviewed by some magazines and sites 2004-05-10: Translated to Romanian 200?-??-??: Translated to Spanish 2003-02-19: Translated to Italian --------------------------------------------------------------------------- 2002-03-04: v0.7 released 2002-03-04: New option --make to get ready-to-use regexes 2002-03-04: New option --prog to choose which programs to use 2002-02-15: It was reviewed by the unixreview.com site 2002-01-10: It's now part of the Debian Linux distribution 2001-10-15: Translated to Japanese 2001-10-15: It was reviewed by the japanese ASCII Linux Magazine 2001-10-08: It's now part of the Conectiva Linux distribution 2001-10-01: It's now part of the Free BSD UNIX distribution --------------------------------------------------------------------------- 2001-09-05: v0.6 released 2001-09-05: Translated to German --------------------------------------------------------------------------- 2001-08-28: v0.5 released 2001-08-28: New option --showinfo to show regex information about a program 2001-08-28: New option --showmeta to show all metachars for all programs --------------------------------------------------------------------------- 2001-08-02: v0.4 released 2001-08-02: The regex test-suite is now on the tarball 2001-08-02: Procmail-re-test: a cool cmdline procmail regex test 2001-08-02: Postgres, javascript, vbscript and procmail are now supported --------------------------------------------------------------------------- 2001-06-26: v0.3.1 released 2001-06-26: Now it is really a 100% bash builtins script --------------------------------------------------------------------------- 2001-06-13: v0.3 released 2001-06-13: $HOME is now sourceforge.net 2001-06-13: Translated to Polish --------------------------------------------------------------------------- 2001-04-24: v0.2 released 2001-04-24: Translated to Indonesian (Bahasa) 2001-04-24: Name has changed to txt2regex --------------------------------------------------------------------------- 2001-04-??: It was reviewed by the Linux Format magazine 2001-02-23: Freshmeat'ed 2001-02-23: v0.1 released (as txt2regexp) --------------------------------------------------------------------------- at the begining, just space dust... ...then BIG BANG! txt2regex-0.8/Changelog0100644000231000023120000000522410126345701015000 0ustar aurelioaureliotxt2regex changelog ------------------- 2004-09-28 v0.8: - Added OpenOffice.org regexes support - Documentation updated: cleaner README and new Man page - Fixed bash version test, now works on bash-3.0 and newer (tks Rene Engelhard @ Debian) - Fixed sed script bug on procmail-re-test (tks JulioB @ caltech> - Added Romanian translations provided by Robert Claudiu Gheorghe - Added Spanish translations provided by Diego Moya Velázquez - Added Italian translations provided by Daniele Pizzolli and revised by Marco Pagnanini and 2002-03-04 v0.7: - Fixed Makefile bug on DESTDIR (tks Martin Butterwecki @ Debian) - Added man page and "Really quit?" message (Martin request again) - Added --version option (it's classic, so...) - Added Japanese translations provided by Hajime Dei - Ready-to-use common regexes (date, hour, number) with --make - Added --prog option to choose which programs to use - Groups are now quantifiable 2001-09-05 v0.6: - Added (group|and|alternation) support - Added groups balance check -> (((3))) - Option --history improved and sync'ed with all features - Added MySQL regexes support - Added German translations provided by Jan Parthey 2001-08-28 v0.5: - New command line options: --showmeta, --showinfo 2001-08-02 v0.4: - Updated Polish translations - Added Postgres, javascript, VBscript and procmail regexes support - Test-suite improved and included on the tarball - New procmail-re-test utility for procmail cmdline regex test 2001-06-26 v0.3.1: - Updated Indonesian and Polish translations - Took out seq command (not bash), and substituted by the new sek() function. Pretty cool, just 2 lines. And so, last release was NOT 100% bash, /me <- Luser but now it is. I think. &:) 2001-06-13 v0.3: - Support to localized POSIX character classes [[:abc:]] - Support to special user combinations inside lists [] - A friendly --help output - New command line option: --whitebg - Final human sentence improved with more detailed data - Added Polish translations provided by Chris Piechowicz - Took out clear and stty commands, because they were not bash now we have a 100% bash builtins script! 2001-04-24 v0.2: - New command line options: --nocolor, --history - A new dynamic history for user input: .oO(history)(¤user_input1¤userinput2¤...) - Added Indonesian (Bahasa) translations provided by Muhamad Faizal 2001-02-23 v0.1: - Initial release (as txt2regexp) txt2regex-0.8/COPYRIGHT0100644000231000023120000004324307526674062014503 0ustar aurelioaurelio GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 675 Mass Ave, Cambridge, MA 02139, USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS Appendix: How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) 19yy This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) 19yy name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. , 1 April 1989 Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License. txt2regex-0.8/TODO0100644000231000023120000000133010126324415013647 0ustar aurelioaureliotxt2regex TODO: - more ready-to-use regexes! (ip, email, url) - describe some nice features as [][\^-] - support for user defined ranges as 0-5, a-f, etc - allow combinations as [A-Z0-9_.#] - support for ~/.txt2regexrc and env vars - undo last step (Bence Fejervari @ .hu) - std{in,out} mode to use it with a frontend (Robert-Claudiu Gheorghe @ .com) - interface to feed the programs with the RegEx (Chris Piechowicz @ .au) - on the fly regex test (zentara @ .com) - add other versions of the same program (julioB @ .edu) - easy way for people contribute on program's regexes rules (julioB @ .edu) - escape special chars when **applying** the regex (julioB @ .edu) technical TODO: grep TODO txt2regex txt2regex-0.8/txt2regex-0.8.sh0100755000231000023120000007614310126340245015772 0ustar aurelioaurelio#!/bin/bash # txt2regex.sh - Regular Expressions "wizard", all in bash2 builtins # # Homepage: http://txt2regex.sf.net # Author : Aurelio Marinho Jargas (verde@aurelio.net) # License : GPL # Requires: bash >= 2.04 # # Please, read the README file. # # $STATUS: # 0 begining of the regex # 1 defining regex # 12 choosing subregex # 2 defining quantifier # 3 really quit? # 4 choosing session programs # 9 end of the regex # # 20001019 ** 1st version # 20001026 ++ lots of changes and tests # 20001028 ++ improvements, public release # 20001107 ++ bash version check (thanks eliphas) # 20001113 ++ php support, Progs command # 20010223 ++ i18n, --all, freshmeat announce (oh no!) # 20010223 v0.1 # 20010420 ++ id.po, \lfunction_name, s/regexp/regex/ig # 20010423 ++ --nocolor, --history, Usage(), doNextHist{,Args}() # ++ flags: interative, color, allprogs # ++ .oO(¤user parameters history) # 20010424 v0.2 # 20010606 ++ option --whitebg # -- grep from $progs to fit on 24 lines by default # 20010608 -- clear command (not bash), ++ Clear() # -- stty command (not bash), ++ $LINES # -- *Progs*(), ++ Choice(), ChoiceRefresh() # ++ POSIX character classes [[:abc:]] # ++ special combinations inside [] # ++ $HUMAN improved with getString, getNumber, Choice # ++ detailed --help, sorceforge'd # 20010613 v0.3 # 20010620 -- seq command (not bash), ++ sek() # 20010613 v0.3.1 # 20010731 ++ Reset: "RegEx prog :" with automatically length # ++ new progs: postgres, javascript, vbscript, procmail # ++ ax_prog: new item: escape char - escape is ok now # ++ improved meta knowledge on perl, tcl and gawk # 20010802 v0.4 # 20010821 ++ ShowMeta(), new option: --showmeta # 20010824 ++ getMeta(), ShowInfo(), new option: --showinfo, $cR color # 20010828 ++ getItemIndex(), getLargestItem() # <> Clear(): using \033c, ALL: using for((;;)) ksh syntax # <> vi == Nvi # 20010828 v0.5 # 20010831 ++ group & or support- cool!, clearN() # ++ nice groups balance check -> ((2)), use $COLUMNS # <> TopTitle(): BLOAT, 3 lines, smart, arrays # <> Menu(): s/stupid recursion/while/ # ++ Z status to handle 0,menu,0 situation # <> s/eval/${!var}/ # 20010903 <> Choice: fixed outrange answers # ++ trapping ^c do clearEnd, ++ new prog: mysql # ++ history now works with Choice() menus # ++ history appears when quiting # 20010905 v0.6 # 20011019 ** program's 1 year birthday! # 20020225 ++ "really quit?" message, ++ --version # 20020304 <> --history just shows final RE on STDOUT # ++ --make, --prog, printError() # ++ groups are now quantifiable # ++ ready_(date[123], hour[123], number[123]) # 20020304 v0.7 # 20021019 ** program's 2 year birthday! # 20031019 ** program's 3 year birthday! # 20040928 <> bash version test (works in 3.x and newer) # # TODO \ # TODO empty | check like ^| or (|) # TODO ready_email (see guia_er) # TODO negated POSIX|special combination (Choice hack) # TODO add expr, oawk, nawk, MKS awk, flex # TODO ~/.txt2regexrc: remember programs, last histories, name REs # TODO LATER how to capture blanks on Get* (via menu)? # TODO LATER user defined ranges on lists (prompt, validation) TEXTDOMAIN=txt2regex TEXTDOMAINDIR=po VERSION=0 # we _need_ bash>=2.04 case "$BASH_VERSION" in 2.0[4-9]*|2.[1-9]*|[3-9].*):;; *)echo "bash version >=2.04 required, but you have $BASH_VERSION"; exit 1;; esac Usage(){ echo $"\ usage: txt2regex [--nocolor|--whitebg|--all] txt2regex --showmeta|--showinfo txt2regex [--all|--prog ] --make txt2regex --history OPTIONS (they are default OFF): --all works with all registered programs --nocolor self-explanatory --whitebg colors adjusted to white background terminals --showmeta prints a complete metachar table for all programs --showinfo prints regex info about the program --history prints to STDOUT a regex from a history data --make prints a ready regex for a common pattern --prog choose which programs to use (separated by commas) --version prints the program version and quit --help prints the help message and quit for more details about the options, read the README file." exit 1 } printError(){ echo -e "\nERROR: $*\n"; exit 1 ; } # the defaults f_i=1 f_color=1 f_whitebg=0 GRP1=0 ; GRP2=0 # take out from here programs you don't want to know about # or to minimize the lines printed on the screen progs=(perl php postgres python sed vim) ### IMPORTANT DATA ### allprogs=(awk ed egrep emacs expect find gawk grep javascript lex lisp mawk mysql ooo perl php postgres procmail python sed tcl vbscript vi vim) allversions=('' 'GNU ed version 0.2' 'egrep (GNU grep) 2.4.2' '' '' 'GNU find version 4.1' 'GNU Awk 3.0.6' 'grep (GNU grep) 2.4.2' 'netscape-4.77' '' '' 'mawk 1.3.3 Nov 1996' 'Ver 11.13 Distrib 3.23.36' 'OpenOffice.org 1.1.0' 'v5.6.0 built for i386-linux' '4.0.6' 'psql (PostgreSQL) 7.1.2' 'procmail v3.15.1 2001/01/08' 'Python 2.1' 'GNU sed version 3.02.80' '8.3' '' 'Nvi 1.79 (10/23/96)' 'VIM - Vi IMproved 5.8 (2001 May 31)') ready_date=('26521652165¤:2¤2¤/¤:2¤2¤/¤:2¤4' \ 'date LEVEL 1: mm/dd/yyyy: matches from 00/00/0000 to 99/99/9999') ready_date2=('24161214161214165¤01¤:2¤/¤0123¤:2¤/¤12¤:2¤3' \ 'date LEVEL 2: mm/dd/yyyy: matches from 00/00/1000 to 19/39/2999') ready_date3=('2(2161|2141)121(2161|4161|2141)1214165¤0¤:2¤1¤012¤/¤0¤:2¤12¤:2¤3¤01¤/¤12¤:2¤3' \ 'date LEVEL 3: mm/dd/yyyy: matches from 00/00/1000 to 12/31/2999') ready_hour=('2652165¤:2¤2¤:¤:2¤2' \ 'hour LEVEL 1: hh:mm: matches from 00:00 to 99:99') ready_hour2=('24161214161¤012¤:2¤:¤012345¤:2' \ 'hour LEVEL 2: hh:mm: matches from 00:00 to 29:59') ready_hour3=('2(4161|2141)1214161¤01¤:2¤2¤0123¤:¤012345¤:2' \ 'hour LEVEL 3: hh:mm: matches from 00:00 to 23:59') ready_number=('24264¤-+¤:2' \ 'number LEVEL 1: integer, positive and negative') ready_number2=('24264(2165)2¤-+¤:2¤.¤:2¤2' \ 'number LEVEL 2: level 1 plus optional float point') ready_number3=('24266(2165)3(2165)2¤-+¤:2¤3¤,¤:2¤3¤.¤:2¤2' \ 'number LEVEL 3: level 2 plus optional commas, like: 34,412,069.90') #date3 : perl: (0[0-9]|1[012])/(0[0-9]|[12][0-9]|3[01])/[12][0-9]{3} #hour3 : perl: ([01][0-9]|2[0123]):[012345][0-9] #number3: perl: [+-]?[0-9]{1,3}(,[0-9]{3})*(\.[0-9]{2})? ### -- ### getItemIndex(){ # array tool local i=0 item="$1"; shift; while [ "$1" ]; do [ "$1" == "$item" ] && { echo $i; return; }; i=$((i+1)); shift; done } # parsing options while [ $# -gt 0 ] do case "$1" in --history) [ "$2" ] || Usage; history="$2"; shift; f_i=0 ; f_color=0 hists="0${history%%¤*}" ; histargs="¤${history#*¤}" [ "${hists#0}" == "${histargs#¤}" ] && unset histargs ;; --make) shift; f_i=0 ; f_color=0 ; arg="${1%1}" # final 1 is optional # sanity check valid=${!ready_*} ; valid=" ${valid//ready_/} " [ "$valid" == "${valid#* $arg }" ] && \ printError "--make: '$1':" $"invalid argument" \ '\n' $"valid names are:" "$valid" # data setting hist="ready_$arg[0]" ; hist=${!hist} txt="ready_$arg[1]" ; txt=${!txt} hists="0${hist%%¤*}" ; histargs="¤${hist#*¤}" echo -e "\n### $txt\n" ;; --prog) [ "$2" ] || Usage ; shift # sanity check for p in ${1//,/ }; do # comma separated list index=`getItemIndex "$p" "${allprogs[@]}"` # is valid? [ "$index" ] || printError "--prog: '$p':" $"invalid argument" done eval "progs=(${1//,/ })" ;; --nocolor) f_color=0 ;; --whitebg) f_whitebg=1 ;; --showmeta) f_showmeta=1 ;; --showinfo) [ "$2" ] || Usage; infoprog="$2"; shift; f_showinfo=1 ;; --all) progs=(${allprogs[@]}) ;; --version) echo "txt2regex v$VERSION" ; exit 0 ;; --help) Usage;; *) echo "'$1':" $"invalid option" ; Usage;; esac shift done set -o noglob # the RegEx show #NOTE texts on vars because i18n inside arrays is not possible (sux) zz0=$"start to match" zz1=$"on the line beginning" zz2=$"in any part of the line" S0_txt=("$zz0" "$zz1" "$zz2") S0_re=('' '^' '') zz0=$"followed by" zz1=$"any character" zz2=$"a specific character" zz3=$"a literal string" zz4=$"an allowed characters list" zz5=$"a forbidden characters list" zz6=$"a special combination" zz7=$"a POSIX combination (locale aware)" zz8=$"a ready RegEx (not implemented)" zz9=$"anything" S1_txt=("$zz0" "$zz1" "$zz2" "$zz3" "$zz4" "$zz5" "$zz6" "$zz7" "$zz8" "$zz9") S1_re=('' '.' '' '' '' '' '' '' '' '.*') zz0=$"how many times (repetition)" zz1=$"one" zz2=$"zero or one (optional)" zz3=$"zero or more" zz4=$"one or more" zz5=$"exactly N" zz6=$"up to N" zz7=$"at least N" S2_txt=("$zz0" "$zz1" "$zz2" "$zz3" "$zz4" "$zz5" "$zz6" "$zz7") # COMBO zz0=$"uppercase letters" zz1=$"lowercase letters" zz2=$"numbers" zz3=$"underscore" zz4=$"space" zz5=$"TAB" combo_txt=("$zz0" "$zz1" "$zz2" "$zz3" "$zz4" "$zz5") combo_re=('A-Z' 'a-z' '0-9' '_' ' ' '@') #TODO put all posix components? zz0=$"letters" zz1=$"lowercase letters" zz2=$"uppercase letters" zz3=$"numbers" zz4=$"letters and numbers" zz5=$"hexadecimal numbers" zz6=$"whitespaces (space and TAB)" zz7=$"graphic chars (not-whitespace)" posix_txt=("$zz0" "$zz1" "$zz2" "$zz3" "$zz4" "$zz5" "$zz6" "$zz7") posix_re=('alpha' 'lower' 'upper' 'digit' 'alnum' 'xdigit' 'blank' 'graph') # title (line 1) zz0=$"quit" zz1=$"reset" zz2=$"color" zz3=$"programs" zz9='^txt2regex$' tit1_txt=("$zz0" "$zz1" "$zz2" "$zz3" "" "" "" "" "" "$zz9") tit1_cmd=('.' '0' '*' '/' '' '' '' '' '' '') # title (line 2-3) zz0=$"or" zz1=$"open group" zz2=$"close group" zz9=$"not supported" tit2_txt=("$zz0" "$zz1" "$zz2" "" "" "" "" "" "" "$zz9") tit2_cmd=('|' '(' ')' '' '' '' '' '' '' '!!') unset ${!zz*} # here's all the quantifiers S2_sed=( '' '' '\?' '*' '\+' '\{@\}' '\{1,@\}' '\{@,\}') S2_ed=( '' '' '\?' '*' '\+' '\{@\}' '\{1,@\}' '\{@,\}') S2_grep=( '' '' '\?' '*' '\+' '\{@\}' '\{1,@\}' '\{@,\}') S2_vim=( '' '' '\=' '*' '\+' '\{@}' '\{1,@}' '\{@,}' ) S2_egrep=( '' '' '?' '*' '+' '{@}' '{1,@}' '{@,}' ) S2_php=( '' '' '?' '*' '+' '{@}' '{1,@}' '{@,}' ) S2_python=( '' '' '?' '*' '+' '{@}' '{1,@}' '{@,}' ) S2_lex=( '' '' '?' '*' '+' '{@}' '{1,@}' '{@,}' ) S2_perl=( '' '' '?' '*' '+' '{@}' '{1,@}' '{@,}' ) S2_postgres=( '' '' '?' '*' '+' '{@}' '{1,@}' '{@,}' ) S2_javascript=('' '' '?' '*' '+' '{@}' '{1,@}' '{@,}' ) S2_vbscript=( '' '' '?' '*' '+' '{@}' '{1,@}' '{@,}' ) S2_gawk=( '' '' '?' '*' '+' '{@}' '{1,@}' '{@,}' ) S2_mysql=( '' '' '?' '*' '+' '{@}' '{1,@}' '{@,}' ) S2_ooo=( '' '' '?' '*' '+' '{@}' '{1,@}' '{@,}' ) S2_procmail=( '' '' '?' '*' '+' '!!' '!!' '!!' ) S2_mawk=( '' '' '?' '*' '+' '!!' '!!' '!!' ) S2_awk=( '' '' '?' '*' '+' '!!' '!!' '!!' ) S2_find=( '' '' '?' '*' '+' '!!' '!!' '!!' ) S2_emacs=( '' '' '?' '*' '+' '!!' '!!' '!!' ) S2_lisp=( '' '' '?' '*' '+' '!!' '!!' '!!' ) S2_tcl=( '' '' '?' '*' '+' '!!' '!!' '!!' ) S2_expect=( '' '' '?' '*' '+' '!!' '!!' '!!' ) S2_vi=( '' '' '\{0,1\}' '*' '\{1,\}' '\{@\}' '\{1,@\}' '\{@,\}') #63# cause on table 6-1 it seems that the vi part is wrong ### mastering regular expressions: # egrep 29 1-3 # .* 182 6-1 # grep 183 6-2 # *awk 184 6-3 # tcl 189 6-4 # emacs 194 6-7 # perl 201 7-1 ### other: # php 4.0.3pl1 docs (POSIX 1003.2 extended regular expressions) # tst: \/_$[]{}()|+?^_/p , [gm]awk=egrep, lisp=emacs # [[:abc:]]: Invalid character class name #details,grouping,alternatives,escape meta,escape normal,escape inside [],[:POSIX:],TAB inside [] # \.*[]{}()|+?^$ ,=tested space=pending ax_sed=( '' '\|' '\(' '\)' '\' '\.*[,,,,,,,,,,' ',' 'P' '\t') ax_ed=( '' '\|' '\(' '\)' '\' '\.*[,,,,,,,,,,' ',' 'P' ',' ) ax_grep=( '' '\|' '\(' '\)' '\' '\.*[,,,,,,,,,,' ',' 'P' ',' ) ax_vim=( '' '\|' '\(' '\)' '\' '\.*[,,,,,,,,,,' '\' 'P' '\t') ax_egrep=( '' '|' '(' ')' '\' '\.*[,{,()|+?^$' ',' 'P' ',' ) ax_ooo=( '' '|' '(' ')' '\' '\.*[,,,()|+?^$' ',' ',' ',' ) ax_php=( '' '|' '(' ')' '\' '\.*[,{,(,|+?^$' ',' 'P' '\t') ax_python=( '' '|' '(' ')' '\' '\.*[,{,()|+?^$' '\' ',' '\t') ax_lex=( '' '|' '(' ')' '\' '\.*[ { ( |+? ' ' ' ' ' ' ' ) ax_perl=( '' '|' '(' ')' '\' '\.*[,,,()|+?^$' '\' 'P' '\t') ax_postgres=( '' '|' '(' ')' '\\' '\.*[,,,(,|+?^$' '\' 'P' '\t') ax_javascript=('' '|' '(' ')' '\' '\.*[,{,(,|+?^$' '\' ',' '\t') ax_vbscript=( '' '|' '(' ')' '\' '\.*[ { ( |+? ' '\' ' ' '\t') ax_gawk=( '' '|' '(' ')' '\' '\.*[,,,(,|+?^$' '\' 'P' '\t') ax_mysql=( '' '|' '(' ')' '\\' '\.*[,,,(,|+?^$' '\' 'P' '\t') ax_procmail=( '' '|' '(' ')' '\' '\.*[,,,()|+?,,' ',' ',' ',' ) ax_mawk=( '' '|' '(' ')' '\' '\.*[,,,()|+?^$' '\' ',' '\t') ax_awk=( '' '|' '(' ')' '\' '\.*[ (,|+? ' '\' ',' '\t') ax_find=( '' '\|' '\(' '\)' '\' '\.*[,,,,,,+?,,' ',' ',' ',' ) ax_emacs=( '' '\|' '\(' '\)' '\' '\.*[ +? ' ',' ',' ',' ) ax_lisp=( '' '\\|' '\\(' '\\)' '\\' '\.*[ +? ' ',' ',' ',' ) ax_tcl=( '' '|' '(' ')' '\' '\.*[,{}()|+?^$' '\' ',' '\t') ax_expect=( '' '|' '(' ')' '\' '\.*[ ( |+? ' ' ' ' ' ' ' ) ax_vi=( '' '!!' '\(' '\)' '\' '\.*[ ' ',' 'P' ',' ) #194# emacs: a backslash ... it is completely unspecial #78# emacs: it uses \s for special "syntax classes" #189# tcl: withing a class, a backslash is completely unspecial # man procmailrc: does not support named character classes. ColorOnOff(){ # the colors: Normal, Prompt, Bold, Important [ "$f_color" != 1 ] && return if [ "$cN" ]; then unset cN cP cB cI cR elif [ "$f_whitebg" != 1 ]; then cN=`echo -ne "\033[m"` # normal cP=`echo -ne "\033[1;31m"` # red cB=`echo -ne "\033[1;37m"` # white cI=`echo -ne "\033[1;33m"` # yellow cR=`echo -ne "\033[7m"` # reverse else cN=`echo -ne "\033[m"` # normal cP=`echo -ne "\033[31m"` # red cB=`echo -ne "\033[32m"` # green cI=`echo -ne "\033[34m"` # blue cR=`echo -ne "\033[7m"` # reverse fi } sek(){ local H='<' s='++' a=1 z=$1; [ "$2" ] && { a=$1; z=$2; } [ $a -gt $z ] && { H='>'; s='--'; }; for ((i=$a;i$H=$z;i$s)); do echo $i; done } getLargestItem(){ local mjr; while [ "$1" ]; do [ ${#1} -gt ${#mjr} ] && mjr="$1"; shift; done; echo $mjr } getMeta(){ local m="$1[$2]"; m=${!m}; m=${m//[@!,_]/} echo "${m//\\\\{[01]*}" # needed for vi } ShowMeta(){ local i j g1 g2 prog progsize=`getLargestItem "${allprogs[@]}"` for ((i=0 ;i<${#allprogs[@]};i++)); do prog=${allprogs[$i]}; printf "\n%${#progsize}s" "$prog" for j in 4 2 5; do printf "%8s" `getMeta S2_$prog $j`; done printf "%8s" `getMeta ax_$prog 1` # or g1=`getMeta ax_$prog 2`; g2=`getMeta ax_$prog 3` printf "%8s" "$g1$g2" # group # printf " $prog: ${allversions[$i]}" #DBG done printf "\n\n%s\n\n" $"NOTE: . [] [^] and * are the same on all programs." } ShowInfo(){ local index ver posix=$"NO" tabinlist=$"NO" prog=$1 local j t1 t2 t3 t4 t5 t6 txtsize escmeta needesc metas local -a data txt # getting data index=`getItemIndex "$prog" "${allprogs[@]}"` ver="${allversions[$index]}" escmeta=`getMeta ax_$prog 4` needesc=`getMeta ax_$prog 5` [ "$needesc" ] || { printf "%s: '%s'\n" $"unknown program" "$prog"; return; } [ "`getMeta ax_$prog 7`" == 'P' ] && posix=$"YES" [ "`getMeta ax_$prog 8`" == '\t' ] && tabinlist=$"YES" metas=$( for j in 4 2 5; do getMeta S2_$prog $j; done) metas="$metas $(getMeta ax_$prog 1; getMeta ax_$prog 2)" #| ( metas="$metas$(getMeta ax_$prog 3)" #) metas=". [] [^] * `echo $metas`" # populating cool i18n arrays t1=$"program" t2=$"metas" t3=$"esc meta" t4=$"need esc" t5=$"\t in []" t6=$"[:POSIX:]" data=("$prog: $ver" "$metas" "$escmeta" "${needesc//[ ,]/}" "$tabinlist" "$posix") txt=("$t1" "$t2" "$t3" "$t4" "$t5" "$t6") # show me! show me! show me! ColorOnOff echo ; txtsize=`getLargestItem "${txt[@]}"` for ((i=0 ;i<${#txt[@]};i++)); do printf "$cR %${#txtsize}s ${cN:-:} %s\n" "${txt[$i]}" "${data[$i]}" done ; echo } [ "$f_showmeta" ] && { ShowMeta; exit 0 ;} [ "$f_showinfo" ] && { ShowInfo "$infoprog"; exit 0 ;} ScreenSize(){ # screen size/positioning issues x_regex=1 ; y_regex=4 x_hist=3 ; y_hist=$((y_regex+${#progs[*]}+1)) x_prompt=3 ; y_prompt=$((y_regex+${#progs[*]}+2)) x_menu=3 ; y_menu=$((y_prompt+2)) x_prompt2=15 y_max=$((y_menu+${#S1_txt[*]})) # the defaults case not exported : ${LINES:=25} : ${COLUMNS:=80} #TODO automatic check when selecting programs [ "$f_i" == 1 -a $LINES -lt "$y_max" ] && { printf $"error: your screen has %s lines and should have at least %s to this program fit on it. increase the number of lines or select less programs to show the RegEx.\n\n" "$LINES" "$y_max" exit 1 } } _eol=`echo -ne "\033[0K"` # clear trash until EOL # the cool control chars functions gotoxy(){ [ "$f_i" == 1 ] && echo -ne "\033[$2;$1H"; } clearEnd(){ [ "$f_i" == 1 ] && echo -ne "\033[0J"; } clearN(){ [ "$f_i" == 1 ] && echo -ne "\033[$1X"; } Clear(){ [ "$f_i" == 1 ] && echo -ne "\033c"; } # ideas: tab between, $cR on cmd, yellow-white-yellow printTitleCmd(){ printf "[$cI%s$cN]%s " "$1" "$2"; } TopTitle(){ gotoxy 1 1 local i j showme txt color [ "$f_i" != 1 ] && return # 1st line: aplication commands for ((i=0 ;i<10;i++)); do showme=0 txt=${tit1_txt[$i]}; cmd=${tit1_cmd[$i]} case $i in [01]) showme=1 ;; 2) [ "$f_color" == 1 ] && showme=1 ;; 3) [ $STATUS -eq 0 ] && showme=1 ;; 9) gotoxy $((COLUMNS-${#txt})) 1; echo "$txt";; esac if [ $showme -eq 1 ]; then printTitleCmd "$cmd" "$txt" else clearN $((${#txt}+3)); fi done # 2nd line: grouping and or if [ $STATUS -eq 0 ]; then echo -n $_eol else if [ $STATUS -eq 1 ]; then for i in 0 1 2; do txt=${tit2_txt[$i]}; cmd=${tit2_cmd[$i]} showme=1 ; [ $i -eq 2 -a $GRP1 -eq $GRP2 ] && showme=0 if [ $showme -eq 1 ]; then printTitleCmd "$cmd" "$txt" else clearN $((${#txt}+3)); fi done else # delete commands only clearN $((${#tit2_txt[0]}+5+${#tit2_txt[1]}+5+${#tit2_txt[2]}+5)) fi # open groups gotoxy $((COLUMNS-$GRP1-$GRP2-${#GRP1})) 2 color="$cP"; [ "$GRP1" -eq "$GRP2" ] && color="$cB" for ((j=0 ;j<$GRP1;j++)); do echo -n "$color($cN"; done [ $GRP1 -gt 0 ] && echo -n $GRP1 for ((j=0 ;j<$GRP2;j++)); do echo -n "$color)$cN"; done fi # 3rd line: legend txt=${tit2_txt[9]}; cmd=${tit2_cmd[9]} gotoxy $((COLUMNS-${#txt}-${#cmd}-1)) 3 printf "$cB%s$cN %s" "$cmd" "$txt" } doMenu(){ local -a Menui eval Menui=(\"\${$1[@]}\"); menu_n=$((${#Menui[*]}-1)) # ini if [ "$f_i" == 1 ]; then gotoxy $x_hist $y_hist echo " $cP.oO($cN$REPLIES$cP)$cN$cP($cN$uins$cP)$cN$_eol" # history gotoxy $x_menu $y_menu ; echo "$cI${Menui[0]}:$cN$_eol" # title for i in `sek $menu_n` # itens do echo " $cB$i$cN) ${Menui[$i]}$_eol"; i=$((i+1)); done clearEnd # prompt gotoxy $x_prompt $y_prompt ; echo -ne "$cP[1-$menu_n]:$cN $_eol" read -n 1 else doNextHist; REPLY=$hist fi } Menu(){ local ok=0 name="$1" while [ $ok -eq 0 ]; do doMenu "$name" case "$REPLY" in [1-9]) [ "$REPLY" -gt "$menu_n" ] && continue ok=1 ; REPLIES="$REPLIES$REPLY";; .) ok=1 ; LASTSTATUS=$STATUS; STATUS=3 ;; 0) ok=1 ; STATUS=Z ;; \*) ColorOnOff; TopTitle;; [\(\)\|]) [ "$STATUS" -ne 1 ] && continue [ "$REPLY" == ')' ] && [ $GRP1 -gt 0 -a $GRP1 -eq $GRP2 -o $GRP1 -eq 0 ] && continue [ "$REPLY" == ')' ] && STATUS=2 ok=1 ; REPLIES="$REPLIES$REPLY";; /) ok=1 ; STATUS=4 ;; esac done [ "${STATUS/[Z34]/}" ] || continue # 0,3,4: escape status } doNextHist(){ hists=${hists#?} # deleting previous item hist=${hists:0:1} : ${hist:=.} # if last, quit } doNextHistArg(){ histargs=${histargs#*¤} histarg=${histargs%%¤*} } getChar(){ gotoxy $x_prompt2 $y_prompt if [ "$f_i" == 1 ] then echo -n "${cP}"; echo -n $"which one?"; echo -n " $cN" read -n 1 -r USERINPUT; uin="$USERINPUT" else doNextHistArg; uin=$histarg fi uins="$uins¤$uin" F_ESCCHAR=1 } #TODO 1st of all, take out repeated chars getCharList(){ gotoxy $x_prompt2 $y_prompt if [ "$f_i" == 1 ] then echo -n "${cP}"; echo -n $"which?"; echo -n " $cN" read -r USERINPUT; uin="$USERINPUT" else doNextHistArg; uin=$histarg fi uins="$uins¤$uin" # putting not special chars in not special places: [][^-] [ "${uin/^//}" != "$uin" ] && uin="${uin/^/}^" [ "${uin/-//}" != "$uin" ] && uin="${uin/-/}-" [ "${uin/[//}" != "$uin" ] && uin="[${uin/[/}" [ "${uin/]//}" != "$uin" ] && uin="]${uin/]/}" [ "$1" ] && uin="^$uin" # if any $1, negated list uin="[$uin]" F_ESCCHARLIST=1 } getString(){ gotoxy $x_prompt2 $y_prompt if [ "$f_i" == 1 ] then echo -ne "${cP}txt:$cN " ; read -r USERINPUT ; uin="$USERINPUT" else doNextHistArg; uin=$histarg fi uins="$uins¤$uin" F_ESCCHAR=1 } getNumber(){ gotoxy $x_prompt2 $y_prompt if [ "$f_i" == 1 ] then echo -ne "${cP}N=$cN$_eol" ; read USERINPUT ; uin="$USERINPUT" else doNextHistArg; uin=$histarg fi uin="${uin//[^0-9]/}" # extracting !numbers [ "${uin/666/x}" == 'x' ] && { gotoxy 36 1 ; echo "$cP]:|$cN" ; } # ee if [ "$uin" ] then uins="$uins¤$uin" else getNumber # there _must_ be a number fi } getPosix(){ local rpl psx=''; unset SUBHUMAN if [ "$f_i" == 1 ]; then Choice --reset "${posix_txt[@]}"; else ChoiceAuto; fi for rpl in $CHOICEREPLY; do psx="$psx[:${posix_re[$rpl]}:]"; SUBHUMAN="$SUBHUMAN, ${posix_txt[$rpl]/ (*)/}" done SUBHUMAN=${SUBHUMAN#, } F_POSIX=1 uin="[$psx]" uins="$uins¤:${CHOICEREPLY// /}" } getCombo(){ local rpl cmb=''; unset SUBHUMAN if [ "$f_i" == 1 ]; then Choice --reset "${combo_txt[@]}"; else ChoiceAuto; fi for rpl in $CHOICEREPLY; do cmb="$cmb${combo_re[$rpl]}"; SUBHUMAN="$SUBHUMAN, ${combo_txt[$rpl]/ (*)/}" done #TODO change this to if [ "$rpl" -eq 5 ] [ "$cmb" != "${cmb/@/}" ] && F_GETTAB=1 SUBHUMAN=${SUBHUMAN#, } uin="[$cmb]"; [ "$1" == 'negated' ] && uin="[^$cmb]" uins="$uins¤:${CHOICEREPLY// /}" } #TODO all getREady(){ unset SUBHUMAN uin='' } # convert [@] -> [\t] or [] based on ax_*[8] value # TODO expand this to all "gettable" fields: @ getListTab(){ local x="ax_${progs[$1]}[8]"; x=${!x} [ "$x" == ',' -o "$x" == ' ' ] && x='' uin="${uin/@/$x}" } getHasPosix(){ # let's just unsupport the tested ones local x="ax_${progs[$1]}[7]"; [ "${!x}" == ',' ] && uin='!!' } escChar(){ # escape userinput chars as .,*,[ and friends local c x x2 z i esc ui="$uin" esc="ax_${progs[$1]}[4]"; esc=${!esc} # get escape char x="ax_${progs[$1]}[5]"; x=${!x} # list of escapable chars x="${x//[, ]/}" # , and space are trash [ "${ui/[\\\\$x]/}" != "$ui" ] && { # test for speed up for ((i=0 ;i<${#ui};i++)) # for each user char do c="${ui:$i:1}" case "$c" in # special bash chars [?*#%])x2="${x/[$c]/}";; [/}])x2="${x/\\$c/}";; [\\])x2="${x/$c$c/}";; *)x2="${x/$c/}" ;; esac [ "$x2" != "$x" ] && c="$esc$c" # escaping z="$z$c" done uin="$z" # ah, the escaped string } } escCharList(){ local esc x x="ax_${progs[$1]}[6]"; x=${!x} # need escape on [] esc="ax_${progs[$1]}[4]"; esc=${!esc} # escape char [ "$x" == '\' ] && uin="${uin/\\\\/$esc$esc}" # escaping escape } Reset(){ gotoxy $x_regex $y_regex unset REPLIES uins HUMAN Regex[*] GRP1=0 ; GRP2=0 local p # global maxprogname maxprogname=`getLargestItem "${progs[@]}"` # global var for p in ${progs[*]}; do [ "$f_i" == 1 ] && printf " RegEx %-${#maxprogname}s: $_eol\n" "$p"; done } showRegEx(){ gotoxy $x_regex $y_regex local i save="$uin" for ((i=0 ;i<${#progs[@]};i++)) # for each program do [ "$F_ESCCHAR" == 1 ] && escChar $i [ "$F_ESCCHARLIST" == 1 ] && escCharList $i [ "$F_GETTAB" == 1 ] && getListTab $i [ "$F_POSIX" == 1 ] && getHasPosix $i case "$1" in # check status ax|S2) eval Regex[$i]="\${Regex[$i]}\${$1_${progs[$i]}[$REPLY]/@/$uin}";; S0) Regex[$i]="${Regex[$i]}${S0_re[$REPLY]}";; S1) Regex[$i]="${Regex[$i]}${uin:-${S1_re[$REPLY]}}";; esac [ "$f_i" == 1 ] && \ printf " RegEx %-${#maxprogname}s: %s\n" "${progs[$i]}" "${Regex[$i]}" uin="$save" done unset uin USERINPUT F_ESCCHAR F_ESCCHARLIST F_GETTAB F_POSIX } # ### and now the cool-smart-MSclippy choice menu/prompt # # number of items <= 10, 1 column # number of items > 10, 2 columns # maximum number of items = 26 (a-z) # # just refresh the selected item on the screen ChoiceRefresh(){ local xy=$1 a=$2 stat=$3 opt=$4 # colorizing case status is ON [ "$stat" == '+' ] && stat="$cI$stat$cN" gotoxy "${xy#*;}" "${xy%;*}" printf " $cB%s$cN) %s%s " "$a" "$stat" "$opt" } # --reset resets the stat array Choice(){ [ "$1" == '--reset' ] && shift && local choicereset=1 local alpha opts optxy numopts=$# local lines cols line line2 op alf rpl alpha=(a b c d e f g h i j k l m n o p q r s t u v w x y z) # reading options and filling default status (off) i=0; for opt in "$@"; do opts[$i]="$opt"; [ "$choicereset" ] && stat[$i]='-'; i=$((i+1)) done # checking our number of items limit [ $numopts -gt "${#alpha[*]}" ] && { printf "too much itens (>%d)" "${#alpha[*]}"; exit 1; } # the header Clear ; printTitleCmd '.' $"exit" printf "| %s" $"press the letters to (un)select the items" # we will need 2 columns? cols=1 ; [ "$numopts" -gt 10 ] && cols=2 # and how much lines? (remember: odd number of items, requires one more line) lines=$((numopts/cols)) ; [ "$((numopts%cols))" -eq 1 ] && lines=$((lines+1)) # filling the options screen's position array (+3 = header:2, sek:1) for ((line=0 ;line<$lines;line++)); do optxy[$line]="$((line+3));1" # column 1 [ "$cols" == 2 ] && optxy[$((line+lines))]="$((line+3));40" # column 2 done # showing initial status for all options for ((op=0 ;op<$numopts;op++)); do ChoiceRefresh "${optxy[$op]}" "${alpha[$op]}" "${stat[$op]}" "${opts[$op]}" done # and now the cool invisible prompt while :; do read -s -r -n 1 CHOICEREPLY case "$CHOICEREPLY" in [a-z]) # inverting the option status for ((alf=0 ;alf<$numopts;alf++)); do if [ "${alpha[$alf]}" == "$CHOICEREPLY" ]; then if [ "${stat[$alf]}" == '+' ] then stat[$alf]='-' else stat[$alf]='+' fi break fi done # showing the change [ "${opts[alf]}" ] || continue ChoiceRefresh "${optxy[$alf]}" "${alpha[$alf]}" "${stat[$alf]}" "${opts[$alf]}" ;; .) # getting the user choices and exiting unset CHOICEREPLY; for ((rpl=0 ;rpl<$numopts;rpl++)); do [ "${stat[$rpl]}" == '+' ] && CHOICEREPLY="$CHOICEREPLY $rpl" done break ;; esac done } # non-interative, just return the answers ChoiceAuto(){ local i z; unset CHOICEREPLY; doNextHistArg; z=${histarg#:} # marker for ((i=0 ;i<${#z};i++)); do CHOICEREPLY="$CHOICEREPLY ${z:$i:1}"; done } # fills the stat array with the actual active programs ON statActiveProgs(){ local p i=0 ps=" ${progs[*]} " for ((i=0 ;i<${#allprogs[@]};i++)); do # for each program p="${allprogs[$i]}"; stat[$i]='-'; # default OFF [ "${ps/ $p /}" != "$ps" ] && stat[$i]='+' # case found, turn ON done } ############################################################################### ######################### ariel, ucla, vamos! ################################# ############################################################################### STATUS=0 # default status Clear; ScreenSize # screen things ColorOnOff # turning color ON trap "clearEnd; echo; exit" SIGINT while : ; do case ${STATUS:=0} in 0|Z)STATUS=${STATUS/Z/0} Reset; TopTitle Menu S0_txt HUMAN="$S0_txt ${S0_txt[$REPLY]}" showRegEx S0 STATUS=1 ;; 1) TopTitle ; Menu S1_txt if [ "${REPLY/[1-9]/}" ]; then HUMAN="$HUMAN $REPLY" if [ "$REPLY" == '|' ]; then REPLY=1 elif [ "$REPLY" == '(' ]; then REPLY=2 ; GRP1=$((GRP1+1)) elif [ "$REPLY" == ')' ]; then REPLY=3 ; GRP2=$((GRP2+1)) else echo -e "\n\nERROR: unknowm reply type '$REPLY'"; exit 1 fi showRegEx ax else HUMAN="$HUMAN, $S1_txt ${S1_txt[$REPLY]/ (*)/}" case "$REPLY" in 1) STATUS=2 ;; 2) STATUS=2 ; getChar;; 3) STATUS=1 ; getString; HUMAN="$HUMAN {$uin}";; 4) STATUS=2 ; getCharList;; 5) STATUS=2 ; getCharList negated;; [678]) STATUS=12 ; continue;; 9) STATUS=1 ;; esac showRegEx S1 fi ;; 12) [ "$REPLY" -eq 6 ] && STATUS=2 && getCombo [ "$REPLY" -eq 7 ] && STATUS=2 && getPosix [ "$REPLY" -eq 8 ] && STATUS=1 && getREady Clear; TopTitle HUMAN="$HUMAN {$SUBHUMAN}" showRegEx S1 ;; 2) TopTitle ; Menu S2_txt rep_middle=$"repeated" rep_txt="${S2_txt[$REPLY]}"; rep_txtend=$"times" [ "$REPLY" -ge 5 ] && getNumber && rep_txt=${rep_txt/N/$uin} HUMAN="$HUMAN, $rep_middle ${rep_txt/ (*)/} $rep_txtend" showRegEx S2 STATUS=1 ;; 3) [ "$f_i" != 1 ] && { STATUS=9 ; continue ; } warning=$"Really quit?" read -n 1 -p "..$cB $warning [.] $cN" STATUS=$LASTSTATUS; [ "$REPLY" == '.' ] && STATUS=9 ;; 4) statActiveProgs Choice "${allprogs[@]}" i=0 ; unset progs # rewriting the progs array with the user choices for rpl in $CHOICEREPLY; do progs[$i]=${allprogs[$rpl]}; i=$((i+1)); done ScreenSize; Clear STATUS=0 ;; 9) gotoxy $x_hist $y_hist; clearEnd if [ "$f_i" == 1 ]; then noregex_txt=$"no RegEx" printf "$cB%s '%s%s'$cN\n\n" "txt2regex --history" "$REPLIES" "$uins" echo -e "${HUMAN:-$noregex_txt}.\n" else for ((i=0 ;i<${#progs[@]};i++)) # for each program do printf " RegEx %-${#maxprogname}s: %s\n" "${progs[$i]}" "${Regex[$i]}" done ; echo fi exit 0 ;; *) echo "Error: STATUS = '$STATUS'" exit 1 ;; esac done # vim: tw=80 et txt2regex-0.8/po/0040755000231000023120000000000010126351732013605 5ustar aurelioaureliotxt2regex-0.8/po/pt_BR.po0100644000231000023120000001642410126351707015161 0ustar aurelioaureliomsgid "" msgstr "" "Project-Id-Version: txt2regex 0.6\n" "POT-Creation-Date: 2002-03-04 20:03 BRT\n" "PO-Revision-Date: 2001-09-03 18:43-0300\n" "Last-Translator: Aurélio Marinho Jargas \n" "Language-Team: Brazilian Portuguese \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=iso-8859-1\n" "Content-Transfer-Encoding: 8BIT\n" #: ../txt2regex-0.7.sh:97 msgid "" "usage: txt2regex [--nocolor|--whitebg|--all]\n" " txt2regex --showmeta|--showinfo \n" " txt2regex [--all|--prog ] --make \n" " txt2regex --history \n" "\n" "OPTIONS (they are default OFF):\n" "\n" " --all works with all registered programs\n" " --nocolor self-explanatory\n" " --whitebg colors adjusted to white background terminals\n" " --showmeta prints a complete metachar table for all programs\n" " --showinfo prints regex info about the program\n" "\n" " --history prints to STDOUT a RegEx from a history data\n" " --make prints a ready RegEx for a common pattern\n" " --prog choose which programs to use (separated by commas)\n" "\n" " --version prints the program version and quit\n" " --help prints the help message and quit\n" "\n" "for more details about the options, read the README file." msgstr "" "uso: txt2regex [--nocolor|--whitebg|--all]\n" " txt2regex --showmeta|--showinfo \n" " txt2regex [--all|--prog ] --make \n" " txt2regex --history \n" "\n" "OPÇõES (o padrão é DESLIGADO):\n" "\n" " --all funciona com todos os programas registrados\n" " --nocolor não usar cores\n" " --whitebg cores ajustadas para terminais de fundo branco\n" " --showmeta mostra tabela com os metas de todos os programas\n" " --showinfo mostra informações sobre as RegEx do programa\n" "\n" " --history mostra na STDOUT uma RegEx de um histórico\n" " --make mostra uma RegEx pronta para usar\n" " --prog escolha de quais programas usar\n" "\n" " --version mostra a versão do programa e sai\n" " --help mostra a tela de ajuda e sai\n" "\n" "para mais detalhes, leia o arquivo README." #: ../txt2regex-0.7.sh:177 msgid "invalid argument" msgstr "argumento inválido" #: ../txt2regex-0.7.sh:178 msgid "valid names are:" msgstr "nomes válidos são:" #: ../txt2regex-0.7.sh:197 msgid "invalid option" msgstr "opção inválida" #: ../txt2regex-0.7.sh:208 msgid "start to match" msgstr "comece a casar a partir" #: ../txt2regex-0.7.sh:209 msgid "on the line beginning" msgstr "do começo da linha" #: ../txt2regex-0.7.sh:210 msgid "in any part of the line" msgstr "de qualquer lugar da linha" #: ../txt2regex-0.7.sh:214 msgid "followed by" msgstr "seguido de" #: ../txt2regex-0.7.sh:215 msgid "any character" msgstr "um caractere qualquer" #: ../txt2regex-0.7.sh:216 msgid "a specific character" msgstr "um caractere específico" #: ../txt2regex-0.7.sh:217 msgid "a literal string" msgstr "uma cadeia de caracteres literais" #: ../txt2regex-0.7.sh:218 msgid "an allowed characters list" msgstr "uma lista de caracteres permitidos" #: ../txt2regex-0.7.sh:219 msgid "a forbidden characters list" msgstr "uma lista de caracteres proibidos" #: ../txt2regex-0.7.sh:220 msgid "a special combination" msgstr "uma combinação especial" #: ../txt2regex-0.7.sh:221 msgid "a POSIX combination (locale aware)" msgstr "uma combinação POSIX (inclui acentuação)" #: ../txt2regex-0.7.sh:222 msgid "a ready RegEx (not implemented)" msgstr "uma RegEx pronta (não implementado)" #: ../txt2regex-0.7.sh:223 msgid "anything" msgstr "qualquer coisa" #: ../txt2regex-0.7.sh:227 msgid "how many times (repetition)" msgstr "quantas vezes (repetição)" #: ../txt2regex-0.7.sh:228 msgid "one" msgstr "uma" #: ../txt2regex-0.7.sh:229 msgid "zero or one (optional)" msgstr "zero ou uma (opcional)" #: ../txt2regex-0.7.sh:230 msgid "zero or more" msgstr "zero ou mais" #: ../txt2regex-0.7.sh:231 msgid "one or more" msgstr "uma ou mais" #: ../txt2regex-0.7.sh:232 msgid "exactly N" msgstr "exatamente N" #: ../txt2regex-0.7.sh:233 msgid "up to N" msgstr "até N" #: ../txt2regex-0.7.sh:234 msgid "at least N" msgstr "no mínimo N" #: ../txt2regex-0.7.sh:238 msgid "uppercase letters" msgstr "letras maiúsculas" #: ../txt2regex-0.7.sh:239 msgid "lowercase letters" msgstr "letras minúsculas" #: ../txt2regex-0.7.sh:240 msgid "numbers" msgstr "números" #: ../txt2regex-0.7.sh:241 msgid "underscore" msgstr "sublinha" #: ../txt2regex-0.7.sh:242 msgid "space" msgstr "espaço" #: ../txt2regex-0.7.sh:243 msgid "TAB" msgstr "TAB" #: ../txt2regex-0.7.sh:248 msgid "letters" msgstr "letras" #: ../txt2regex-0.7.sh:252 msgid "letters and numbers" msgstr "letras e números" #: ../txt2regex-0.7.sh:253 msgid "hexadecimal numbers" msgstr "números hexadecimais" #: ../txt2regex-0.7.sh:254 msgid "whitespaces (space and TAB)" msgstr "brancos (espaço e TAB)" #: ../txt2regex-0.7.sh:255 msgid "graphic chars (not-whitespace)" msgstr "caracteres gráficos (não brancos)" #: ../txt2regex-0.7.sh:260 msgid "quit" msgstr "sair" #: ../txt2regex-0.7.sh:261 msgid "reset" msgstr "zerar" #: ../txt2regex-0.7.sh:262 msgid "color" msgstr "cor" #: ../txt2regex-0.7.sh:263 msgid "programs" msgstr "programas" #: ../txt2regex-0.7.sh:269 msgid "or" msgstr "ou" #: ../txt2regex-0.7.sh:270 msgid "open group" msgstr "abrir grupo" #: ../txt2regex-0.7.sh:271 msgid "close group" msgstr "fechar grupo" #: ../txt2regex-0.7.sh:272 msgid "not supported" msgstr "não suportado" #: ../txt2regex-0.7.sh:395 msgid "NOTE: . [] [^] and * are the same on all programs." msgstr "NOTA: . [] [^] e * são iguais para todos." #: ../txt2regex-0.7.sh:399 msgid "NO" msgstr "NÃO" #: ../txt2regex-0.7.sh:408 msgid "unknown program" msgstr "programa desconhecido" #: ../txt2regex-0.7.sh:409 msgid "YES" msgstr "SIM" #: ../txt2regex-0.7.sh:417 msgid "program" msgstr "programa" #: ../txt2regex-0.7.sh:417 msgid "metas" msgstr "metas" #: ../txt2regex-0.7.sh:417 msgid "esc meta" msgstr "meta de escape" #: ../txt2regex-0.7.sh:417 msgid "need esc" msgstr "precisa escapar" #: ../txt2regex-0.7.sh:417 msgid "\\t in []" msgstr "\\t em []" #: ../txt2regex-0.7.sh:417 msgid "[:POSIX:]" msgstr "[:POSIX:]" #: ../txt2regex-0.7.sh:449 msgid "" "error:\n" " your screen has %s lines and should have at least %s to this\n" " program fit on it. increase the number of lines or select\n" " less programs to show the RegEx.\\n\\n" msgstr "" "erro:\n" " sua tela tem %s linhas e deve ter no mínimo %s para que\n" " este programa caiba nela. aumente o número de linhas ou\n" " desative alguns programas para mostrar a RegEx.\\n\\n" #: ../txt2regex-0.7.sh:566 msgid "which one?" msgstr "qual?" #: ../txt2regex-0.7.sh:578 msgid "which?" msgstr "quais?" #: ../txt2regex-0.7.sh:754 msgid "exit" msgstr "sair" #: ../txt2regex-0.7.sh:755 msgid "press the letters to (un)select the items" msgstr "escolha as letras para (des)ativar os itens" #: ../txt2regex-0.7.sh:869 msgid "repeated" msgstr "repetido" #: ../txt2regex-0.7.sh:870 msgid "times" msgstr "vezes" #: ../txt2regex-0.7.sh:877 msgid "Really quit?" msgstr "Vai sair mesmo?" #: ../txt2regex-0.7.sh:890 msgid "no RegEx" msgstr "nenhuma RegEx" txt2regex-0.8/po/pl_PL.po0100644000231000023120000001612207526674062015170 0ustar aurelioaureliomsgid "" msgstr "" "Project-Id-Version: txt2regex 0.5\n" "POT-Creation-Date: 2002-03-04 20:03 BRT\n" "PO-Revision-Date: 2001-08-28 10:43-0300\n" "Last-Translator: Chris Piechowicz \n" "Language-Team: txt2regex Polish team \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=iso-8859-2\n" "Content-Transfer-Encoding: 8bit\n" #: ../txt2regex-0.7.sh:97 #, fuzzy msgid "" "usage: txt2regex [--nocolor|--whitebg|--all]\n" " txt2regex --showmeta|--showinfo \n" " txt2regex [--all|--prog ] --make \n" " txt2regex --history \n" "\n" "OPTIONS (they are default OFF):\n" "\n" " --all works with all registered programs\n" " --nocolor self-explanatory\n" " --whitebg colors adjusted to white background terminals\n" " --showmeta prints a complete metachar table for all programs\n" " --showinfo prints regex info about the program\n" "\n" " --history prints to STDOUT a RegEx from a history data\n" " --make prints a ready RegEx for a common pattern\n" " --prog choose which programs to use (separated by commas)\n" "\n" " --version prints the program version and quit\n" " --help prints the help message and quit\n" "\n" "for more details about the options, read the README file." msgstr "" "u¿ytek: txt2regex [--nocolor|--whitebg|--all]\n" " txt2regex --showmeta|--showinfo \n" " txt2regex --history \n" "\n" "OPCJE (s± normalnie wy³±czone (OFF)):\n" "\n" " --all pracuje z wszystkimy rejstrowanymi programami\n" " --nocolor oczywiste\n" " --whitebg koory dostosowane do bia³ych ekranów\n" " --showmeta prints a complete metachar table for all programs\n" " --showinfo prints regex info about the program\n" " --history drukuje do STDOUT jeden RegEx z historycznego datum\n" "\n" " --version prints the program version and quit\n" " --help prints the help message and quit\n" "\n" "o wiêcej detalach opcji, przeczytaj README opis." #: ../txt2regex-0.7.sh:177 msgid "invalid argument" msgstr "" #: ../txt2regex-0.7.sh:178 msgid "valid names are:" msgstr "" #: ../txt2regex-0.7.sh:197 msgid "invalid option" msgstr "" #: ../txt2regex-0.7.sh:208 msgid "start to match" msgstr "pocz±tek dobiera" #: ../txt2regex-0.7.sh:209 msgid "on the line beginning" msgstr "na lini caczynaj±cej" #: ../txt2regex-0.7.sh:210 msgid "in any part of the line" msgstr "w jakikolwiek czê¶ci lini" #: ../txt2regex-0.7.sh:214 msgid "followed by" msgstr "przed" #: ../txt2regex-0.7.sh:215 msgid "any character" msgstr "jakikolwiek czcionka" #: ../txt2regex-0.7.sh:216 msgid "a specific character" msgstr "specyficzna czcionka" #: ../txt2regex-0.7.sh:217 msgid "a literal string" msgstr "sznur czcionek tak jak napisano" #: ../txt2regex-0.7.sh:218 msgid "an allowed characters list" msgstr "lista czcionek pozwolonych" #: ../txt2regex-0.7.sh:219 msgid "a forbidden characters list" msgstr "lista czcionek niedozwolonych" #: ../txt2regex-0.7.sh:220 msgid "a special combination" msgstr "specjalna kombinacja" #: ../txt2regex-0.7.sh:221 msgid "a POSIX combination (locale aware)" msgstr "POSIX kombinacja (wjadoma lokalu" #: ../txt2regex-0.7.sh:222 msgid "a ready RegEx (not implemented)" msgstr "gotowa RegEx (nie skonczona" #: ../txt2regex-0.7.sh:223 msgid "anything" msgstr "obojêtnie co" #: ../txt2regex-0.7.sh:227 msgid "how many times (repetition)" msgstr "ile razy" #: ../txt2regex-0.7.sh:228 msgid "one" msgstr "jeden" #: ../txt2regex-0.7.sh:229 msgid "zero or one (optional)" msgstr "zero albo jeden (nieobowi±zkowe)" #: ../txt2regex-0.7.sh:230 msgid "zero or more" msgstr "zero albo wiêcej" #: ../txt2regex-0.7.sh:231 msgid "one or more" msgstr "jeden albo wiêcej" #: ../txt2regex-0.7.sh:232 msgid "exactly N" msgstr "dok³adnie N" #: ../txt2regex-0.7.sh:233 msgid "up to N" msgstr "a¿ do N" #: ../txt2regex-0.7.sh:234 msgid "at least N" msgstr "przynajmniej N" #: ../txt2regex-0.7.sh:238 msgid "uppercase letters" msgstr "du¿e litery" #: ../txt2regex-0.7.sh:239 msgid "lowercase letters" msgstr "ma³e litery" #: ../txt2regex-0.7.sh:240 msgid "numbers" msgstr "numery" #: ../txt2regex-0.7.sh:241 msgid "underscore" msgstr "podkre¶lenie" #: ../txt2regex-0.7.sh:242 msgid "space" msgstr "odstêp" #: ../txt2regex-0.7.sh:243 msgid "TAB" msgstr "odczinka TAB" #: ../txt2regex-0.7.sh:248 msgid "letters" msgstr "litery" #: ../txt2regex-0.7.sh:252 msgid "letters and numbers" msgstr "litery i numery" #: ../txt2regex-0.7.sh:253 msgid "hexadecimal numbers" msgstr "numery systemem szesna¶cie" #: ../txt2regex-0.7.sh:254 msgid "whitespaces (space and TAB)" msgstr "niewidoczne odstêpy (odstêp i czcinka TAB)" #: ../txt2regex-0.7.sh:255 msgid "graphic chars (not-whitespace)" msgstr "czcionki graficzne (widoczne druki)" #: ../txt2regex-0.7.sh:260 msgid "quit" msgstr "opu¶ciæ" #: ../txt2regex-0.7.sh:261 msgid "reset" msgstr "przestawiæ" #: ../txt2regex-0.7.sh:262 msgid "color" msgstr "kolor" #: ../txt2regex-0.7.sh:263 msgid "programs" msgstr "programy" #: ../txt2regex-0.7.sh:269 msgid "or" msgstr "albo" #: ../txt2regex-0.7.sh:270 msgid "open group" msgstr "otworzyæ grupê" #: ../txt2regex-0.7.sh:271 msgid "close group" msgstr "zamkn¹æ grupê" #: ../txt2regex-0.7.sh:272 msgid "not supported" msgstr "nie poparte" #: ../txt2regex-0.7.sh:395 msgid "NOTE: . [] [^] and * are the same on all programs." msgstr "UWAGA: . [] [^] i * s¹ takie same ka¿dym programem" #: ../txt2regex-0.7.sh:399 msgid "NO" msgstr "NIE" #: ../txt2regex-0.7.sh:408 msgid "unknown program" msgstr "nieznany program" #: ../txt2regex-0.7.sh:409 msgid "YES" msgstr "TAK" #: ../txt2regex-0.7.sh:417 msgid "program" msgstr "program" #: ../txt2regex-0.7.sh:417 msgid "metas" msgstr "meta czcinki" #: ../txt2regex-0.7.sh:417 msgid "esc meta" msgstr "zbiec meta czcinki" #: ../txt2regex-0.7.sh:417 msgid "need esc" msgstr "potrzeba zbiec" #: ../txt2regex-0.7.sh:417 msgid "\\t in []" msgstr "\\t w []" #: ../txt2regex-0.7.sh:417 msgid "[:POSIX:]" msgstr "[:POSIX:]" #: ../txt2regex-0.7.sh:449 msgid "" "error:\n" " your screen has %s lines and should have at least %s to this\n" " program fit on it. increase the number of lines or select\n" " less programs to show the RegEx.\\n\\n" msgstr "" "bl±d:\n" " twój ekran ma %s lini i powinien mieæ przynajmniej %s ¿eby ten\n" " program siê zmie¶ci³. powiêksz ilo¶æ lini albo wybierz\n" " mniej programów pokazuj±cych RegEx.\\n\\n" #: ../txt2regex-0.7.sh:566 msgid "which one?" msgstr "który?" #: ../txt2regex-0.7.sh:578 msgid "which?" msgstr "które?" #: ../txt2regex-0.7.sh:754 msgid "exit" msgstr "wyj¶æ" #: ../txt2regex-0.7.sh:755 msgid "press the letters to (un)select the items" msgstr "naci¶nij czcionki ¿eby (od)selekcjonowaæ te rzeczy" #: ../txt2regex-0.7.sh:869 msgid "repeated" msgstr "powtarzane" #: ../txt2regex-0.7.sh:870 msgid "times" msgstr "razy" #: ../txt2regex-0.7.sh:877 msgid "Really quit?" msgstr "Rzeczywi¶cie opuszczaæ?" #: ../txt2regex-0.7.sh:890 msgid "no RegEx" msgstr "nie RegEx" txt2regex-0.8/po/txt2regex.pot0100644000231000023120000001260007526674062016277 0ustar aurelioaurelio#, fuzzy msgid "" msgstr "" "Project-Id-Version: txt2regex 0.7\n" "POT-Creation-Date: 2002-03-04 20:03 BRT\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=iso-8859-1\n" "Content-Transfer-Encoding: 8bit\n" #: ../txt2regex-0.7.sh:97 msgid "" "usage: txt2regex [--nocolor|--whitebg|--all]\n" " txt2regex --showmeta|--showinfo \n" " txt2regex [--all|--prog ] --make \n" " txt2regex --history \n" "\n" "OPTIONS (they are default OFF):\n" "\n" " --all works with all registered programs\n" " --nocolor self-explanatory\n" " --whitebg colors adjusted to white background terminals\n" " --showmeta prints a complete metachar table for all programs\n" " --showinfo prints regex info about the program\n" "\n" " --history prints to STDOUT a RegEx from a history data\n" " --make prints a ready RegEx for a common pattern\n" " --prog choose which programs to use (separated by commas)\n" "\n" " --version prints the program version and quit\n" " --help prints the help message and quit\n" "\n" "for more details about the options, read the README file." msgstr "" #: ../txt2regex-0.7.sh:177 msgid "invalid argument" msgstr "" #: ../txt2regex-0.7.sh:178 msgid "valid names are:" msgstr "" ##duplicated##: ../txt2regex-0.7.sh:188 #: ../txt2regex-0.7.sh:197 msgid "invalid option" msgstr "" #: ../txt2regex-0.7.sh:208 msgid "start to match" msgstr "" #: ../txt2regex-0.7.sh:209 msgid "on the line beginning" msgstr "" #: ../txt2regex-0.7.sh:210 msgid "in any part of the line" msgstr "" #: ../txt2regex-0.7.sh:214 msgid "followed by" msgstr "" #: ../txt2regex-0.7.sh:215 msgid "any character" msgstr "" #: ../txt2regex-0.7.sh:216 msgid "a specific character" msgstr "" #: ../txt2regex-0.7.sh:217 msgid "a literal string" msgstr "" #: ../txt2regex-0.7.sh:218 msgid "an allowed characters list" msgstr "" #: ../txt2regex-0.7.sh:219 msgid "a forbidden characters list" msgstr "" #: ../txt2regex-0.7.sh:220 msgid "a special combination" msgstr "" #: ../txt2regex-0.7.sh:221 msgid "a POSIX combination (locale aware)" msgstr "" #: ../txt2regex-0.7.sh:222 msgid "a ready RegEx (not implemented)" msgstr "" #: ../txt2regex-0.7.sh:223 msgid "anything" msgstr "" #: ../txt2regex-0.7.sh:227 msgid "how many times (repetition)" msgstr "" #: ../txt2regex-0.7.sh:228 msgid "one" msgstr "" #: ../txt2regex-0.7.sh:229 msgid "zero or one (optional)" msgstr "" #: ../txt2regex-0.7.sh:230 msgid "zero or more" msgstr "" #: ../txt2regex-0.7.sh:231 msgid "one or more" msgstr "" #: ../txt2regex-0.7.sh:232 msgid "exactly N" msgstr "" #: ../txt2regex-0.7.sh:233 msgid "up to N" msgstr "" #: ../txt2regex-0.7.sh:234 msgid "at least N" msgstr "" #: ../txt2regex-0.7.sh:238 msgid "uppercase letters" msgstr "" #: ../txt2regex-0.7.sh:239 msgid "lowercase letters" msgstr "" #: ../txt2regex-0.7.sh:240 msgid "numbers" msgstr "" #: ../txt2regex-0.7.sh:241 msgid "underscore" msgstr "" #: ../txt2regex-0.7.sh:242 msgid "space" msgstr "" #: ../txt2regex-0.7.sh:243 msgid "TAB" msgstr "" #: ../txt2regex-0.7.sh:248 msgid "letters" msgstr "" ##duplicated##: ../txt2regex-0.7.sh:249 ##duplicated##: ../txt2regex-0.7.sh:250 ##duplicated##: ../txt2regex-0.7.sh:251 #: ../txt2regex-0.7.sh:252 msgid "letters and numbers" msgstr "" #: ../txt2regex-0.7.sh:253 msgid "hexadecimal numbers" msgstr "" #: ../txt2regex-0.7.sh:254 msgid "whitespaces (space and TAB)" msgstr "" #: ../txt2regex-0.7.sh:255 msgid "graphic chars (not-whitespace)" msgstr "" #: ../txt2regex-0.7.sh:260 msgid "quit" msgstr "" #: ../txt2regex-0.7.sh:261 msgid "reset" msgstr "" #: ../txt2regex-0.7.sh:262 msgid "color" msgstr "" #: ../txt2regex-0.7.sh:263 msgid "programs" msgstr "" #: ../txt2regex-0.7.sh:269 msgid "or" msgstr "" #: ../txt2regex-0.7.sh:270 msgid "open group" msgstr "" #: ../txt2regex-0.7.sh:271 msgid "close group" msgstr "" #: ../txt2regex-0.7.sh:272 msgid "not supported" msgstr "" #: ../txt2regex-0.7.sh:395 msgid "NOTE: . [] [^] and * are the same on all programs." msgstr "" #: ../txt2regex-0.7.sh:399 msgid "NO" msgstr "" ##duplicated##: ../txt2regex-0.7.sh:399 #: ../txt2regex-0.7.sh:408 msgid "unknown program" msgstr "" #: ../txt2regex-0.7.sh:409 msgid "YES" msgstr "" ##duplicated##: ../txt2regex-0.7.sh:410 #: ../txt2regex-0.7.sh:417 msgid "program" msgstr "" #: ../txt2regex-0.7.sh:417 msgid "metas" msgstr "" #: ../txt2regex-0.7.sh:417 msgid "esc meta" msgstr "" #: ../txt2regex-0.7.sh:417 msgid "need esc" msgstr "" #: ../txt2regex-0.7.sh:417 msgid "\\t in []" msgstr "" #: ../txt2regex-0.7.sh:417 msgid "[:POSIX:]" msgstr "" #: ../txt2regex-0.7.sh:449 msgid "" "error:\n" " your screen has %s lines and should have at least %s to this\n" " program fit on it. increase the number of lines or select\n" " less programs to show the RegEx.\\n\\n" msgstr "" #: ../txt2regex-0.7.sh:566 msgid "which one?" msgstr "" #: ../txt2regex-0.7.sh:578 msgid "which?" msgstr "" #: ../txt2regex-0.7.sh:754 msgid "exit" msgstr "" #: ../txt2regex-0.7.sh:755 msgid "press the letters to (un)select the items" msgstr "" #: ../txt2regex-0.7.sh:869 msgid "repeated" msgstr "" #: ../txt2regex-0.7.sh:870 msgid "times" msgstr "" #: ../txt2regex-0.7.sh:877 msgid "Really quit?" msgstr "" #: ../txt2regex-0.7.sh:890 msgid "no RegEx" msgstr "" txt2regex-0.8/po/id_ID.po0100644000231000023120000001631607526674062015137 0ustar aurelioaureliomsgid "" msgstr "" "Project-Id-Version: txt2regex 0.3\n" "POT-Creation-Date: 2002-03-04 20:03 BRT\n" "PO-Revision-Date: 2001-06-18 11:45+0700\n" "Last-Translator: Muhamad Faizal \n" "Language-Team: Bahasa txt2regex LangTeam \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=iso-8859-1\n" "Content-Transfer-Encoding: 8bit\n" #: ../txt2regex-0.7.sh:97 #, fuzzy msgid "" "usage: txt2regex [--nocolor|--whitebg|--all]\n" " txt2regex --showmeta|--showinfo \n" " txt2regex [--all|--prog ] --make \n" " txt2regex --history \n" "\n" "OPTIONS (they are default OFF):\n" "\n" " --all works with all registered programs\n" " --nocolor self-explanatory\n" " --whitebg colors adjusted to white background terminals\n" " --showmeta prints a complete metachar table for all programs\n" " --showinfo prints regex info about the program\n" "\n" " --history prints to STDOUT a RegEx from a history data\n" " --make prints a ready RegEx for a common pattern\n" " --prog choose which programs to use (separated by commas)\n" "\n" " --version prints the program version and quit\n" " --help prints the help message and quit\n" "\n" "for more details about the options, read the README file." msgstr "" "cara pemakaian: txt2regex [--nocolor|--whitebg|--all]\n" " txt2regex --showmeta|--showinfo \n" " txt2regex --history \n" "\n" "OPTIONS (secara default dimatikan / OFF):\n" "\n" " --all kerjakan untuk semua program yang telah terdaftar\n" " --nocolor tanpa warna\n" " --whitebg warna disesuaikan dengan terminal berlatar belakang " "putih\n" " --showmeta prints a complete metachar table for all programs\n" " --showinfo prints regex info about the program\n" " --history cetak ke STDOUT sebuah RegEx yang sudah pernah " "dikerjakan\n" "\n" " --version prints the program version and quit\n" " --help prints the help message and quit\n" "\n" "untuk lebih jelas mengenai berbagai opsi di atas, bacalah file README." #: ../txt2regex-0.7.sh:177 msgid "invalid argument" msgstr "" #: ../txt2regex-0.7.sh:178 msgid "valid names are:" msgstr "" #: ../txt2regex-0.7.sh:197 msgid "invalid option" msgstr "" #: ../txt2regex-0.7.sh:208 msgid "start to match" msgstr "yang ingin ditemukan" #: ../txt2regex-0.7.sh:209 msgid "on the line beginning" msgstr "di awal baris" #: ../txt2regex-0.7.sh:210 msgid "in any part of the line" msgstr "di sembarang tempat" #: ../txt2regex-0.7.sh:214 msgid "followed by" msgstr "diikuti oleh" #: ../txt2regex-0.7.sh:215 msgid "any character" msgstr "sembarang karakter" #: ../txt2regex-0.7.sh:216 msgid "a specific character" msgstr "karakter tertentu" #: ../txt2regex-0.7.sh:217 msgid "a literal string" msgstr "kalimat" #: ../txt2regex-0.7.sh:218 msgid "an allowed characters list" msgstr "daftar karakter yang dicari" #: ../txt2regex-0.7.sh:219 msgid "a forbidden characters list" msgstr "daftar karakter yang tidak dicari" #: ../txt2regex-0.7.sh:220 msgid "a special combination" msgstr "kombinasi khusus" #: ../txt2regex-0.7.sh:221 msgid "a POSIX combination (locale aware)" msgstr "kombinasi POSIX (dapat memanfaatkan aplikasi locale)" #: ../txt2regex-0.7.sh:222 msgid "a ready RegEx (not implemented)" msgstr "RegEx yang sudah ada (belum diimplementasikan)" #: ../txt2regex-0.7.sh:223 msgid "anything" msgstr "apapun" #: ../txt2regex-0.7.sh:227 msgid "how many times (repetition)" msgstr "banyaknya pengulangan" #: ../txt2regex-0.7.sh:228 msgid "one" msgstr "satu" #: ../txt2regex-0.7.sh:229 msgid "zero or one (optional)" msgstr "nol atau satu" #: ../txt2regex-0.7.sh:230 msgid "zero or more" msgstr "lebih dari atau sama dengan nol" #: ../txt2regex-0.7.sh:231 msgid "one or more" msgstr "lebih dari atau sama dengan satu" #: ../txt2regex-0.7.sh:232 msgid "exactly N" msgstr "sejumlah N" #: ../txt2regex-0.7.sh:233 msgid "up to N" msgstr "sampai dengan N" #: ../txt2regex-0.7.sh:234 msgid "at least N" msgstr "paling sedikit N" #: ../txt2regex-0.7.sh:238 msgid "uppercase letters" msgstr "huruf kapital" #: ../txt2regex-0.7.sh:239 msgid "lowercase letters" msgstr "huruf biasa" #: ../txt2regex-0.7.sh:240 msgid "numbers" msgstr "bilangan" #: ../txt2regex-0.7.sh:241 msgid "underscore" msgstr "garis bawah" #: ../txt2regex-0.7.sh:242 msgid "space" msgstr "spasi" #: ../txt2regex-0.7.sh:243 msgid "TAB" msgstr "TAB" #: ../txt2regex-0.7.sh:248 msgid "letters" msgstr "huruf" #: ../txt2regex-0.7.sh:252 msgid "letters and numbers" msgstr "huruf dan bilangan" #: ../txt2regex-0.7.sh:253 msgid "hexadecimal numbers" msgstr "bilangan heksadesimal" #: ../txt2regex-0.7.sh:254 msgid "whitespaces (space and TAB)" msgstr "spasi kosong (spasi dan TAB)" #: ../txt2regex-0.7.sh:255 msgid "graphic chars (not-whitespace)" msgstr "karakter grafis (bukan spasi kosong)" #: ../txt2regex-0.7.sh:260 msgid "quit" msgstr "keluar" #: ../txt2regex-0.7.sh:261 msgid "reset" msgstr "reset" #: ../txt2regex-0.7.sh:262 msgid "color" msgstr "warna" #: ../txt2regex-0.7.sh:263 msgid "programs" msgstr "aplikasi" #: ../txt2regex-0.7.sh:269 msgid "or" msgstr "atau" #: ../txt2regex-0.7.sh:270 msgid "open group" msgstr "buka grup" #: ../txt2regex-0.7.sh:271 msgid "close group" msgstr "tutup grup" #: ../txt2regex-0.7.sh:272 msgid "not supported" msgstr "tidak didukung" #: ../txt2regex-0.7.sh:395 msgid "NOTE: . [] [^] and * are the same on all programs." msgstr "CATATAN: . [] [^] dan * sama untuk semua aplikasi." #: ../txt2regex-0.7.sh:399 msgid "NO" msgstr "TIDAK" #: ../txt2regex-0.7.sh:408 msgid "unknown program" msgstr "aplikasi tidak dikenal" #: ../txt2regex-0.7.sh:409 msgid "YES" msgstr "YA" #: ../txt2regex-0.7.sh:417 msgid "program" msgstr "aplikasi" #: ../txt2regex-0.7.sh:417 msgid "metas" msgstr "karakter meta" #: ../txt2regex-0.7.sh:417 msgid "esc meta" msgstr "karakter meta esc" #: ../txt2regex-0.7.sh:417 msgid "need esc" msgstr "perlu karakter esc" #: ../txt2regex-0.7.sh:417 msgid "\\t in []" msgstr "\\t di []" #: ../txt2regex-0.7.sh:417 msgid "[:POSIX:]" msgstr "[:POSIX:]" #: ../txt2regex-0.7.sh:449 msgid "" "error:\n" " your screen has %s lines and should have at least %s to this\n" " program fit on it. increase the number of lines or select\n" " less programs to show the RegEx.\\n\\n" msgstr "" "error:\n" " layar kamu hanya memiliki %s baris, layar kamu setidaknya harus\n" " memiliki %s baris agar program ini dapat berjalan dengan baik.\n" " tambahkan jumlah baris atau kurangi aplikasi yang akan ditampilkan.\\n\\n" #: ../txt2regex-0.7.sh:566 msgid "which one?" msgstr "yang mana?" #: ../txt2regex-0.7.sh:578 msgid "which?" msgstr "yang mana?" #: ../txt2regex-0.7.sh:754 msgid "exit" msgstr "keluar" #: ../txt2regex-0.7.sh:755 msgid "press the letters to (un)select the items" msgstr "tekan huruf untuk memilih aplikasi" #: ../txt2regex-0.7.sh:869 msgid "repeated" msgstr "pengulangan" #: ../txt2regex-0.7.sh:870 msgid "times" msgstr "kali" #: ../txt2regex-0.7.sh:877 msgid "Really quit?" msgstr "Anda yakin mau keluar?" #: ../txt2regex-0.7.sh:890 msgid "no RegEx" msgstr "tidak ada RegEx" txt2regex-0.8/po/ro_RO.po0100644000231000023120000001725410047732257015202 0ustar aurelioaureliomsgid "" msgstr "" "Project-Id-Version: txt2regex 0.7\n" "POT-Creation-Date: 2002-03-04 20:03 BRT\n" "PO-Revision-Date: 2004-05-10 00:00+000\n" "Last-Translator: Robert Gheorghe \n" "Language-Team: Romanian team\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=iso-8859-1\n" "Content-Transfer-Encoding: 8bit\n" #: ../txt2regex-0.7.sh:97 msgid "" "usage: txt2regex [--nocolor|--whitebg|--all]\n" " txt2regex --showmeta|--showinfo \n" " txt2regex [--all|--prog ] --make \n" " txt2regex --history \n" "\n" "OPTIONS (they are default OFF):\n" "\n" " --all works with all registered programs\n" " --nocolor self-explanatory\n" " --whitebg colors adjusted to white background terminals\n" " --showmeta prints a complete metachar table for all programs\n" " --showinfo prints regex info about the program\n" "\n" " --history prints to STDOUT a RegEx from a history data\n" " --make prints a ready RegEx for a common pattern\n" " --prog choose which programs to use (separated by commas)\n" "\n" " --version prints the program version and quit\n" " --help prints the help message and quit\n" "\n" "for more details about the options, read the README file." msgstr "" "utilizare: txt2regex [--nocolor|--whitebg|--all]\n" " txt2regex --showmeta|--showinfo \n" " txt2regex [--all|--prog ] --make \n" " txt2regex --history \n" "\n" "OPTIUNI (implicit sunt dezactivate):\n" "\n" " --all sa functioneze cu toate programele suportate\n" " --nocolor arata meniul in alb/negru\n" " --whitebg foloseste culori vizibile pe terminale cu fundal alb.\n" " --showmeta tipareste tabela de simboluri(metacaractere) pentru toate programele suportate\n" " --showinfo tipareste informatii regex pertinente programului specificat\n" "\n" " --history tipareste la STDOUT RegEx 'from a history data'\n" " --make tipareste un RegEx pre-calculat(generic)\n" " --prog alege ce programe sa folosesti (separate de virgule)\n" "\n" " --version tipareste versiunea programului si iese\n" " --help tipareste mesajul de ajutor si iese\n" "\n" "pentru detalii mai de amanunt despre optiunile programului, citeste fisierul README." #: ../txt2regex-0.7.sh:177 msgid "invalid argument" msgstr "argument invalid" #: ../txt2regex-0.7.sh:178 msgid "valid names are:" msgstr "nume valide:" ##duplicated##: ../txt2regex-0.7.sh:188 #: ../txt2regex-0.7.sh:197 msgid "invalid option" msgstr "optiune invalida" #: ../txt2regex-0.7.sh:208 msgid "start to match" msgstr "incepe cautarea" #: ../txt2regex-0.7.sh:209 msgid "on the line beginning" msgstr "la inceputul liniei" #: ../txt2regex-0.7.sh:210 msgid "in any part of the line" msgstr "oriunde pe linie" #: ../txt2regex-0.7.sh:214 msgid "followed by" msgstr "urmat(a) de" #: ../txt2regex-0.7.sh:215 msgid "any character" msgstr "orice caracter" #: ../txt2regex-0.7.sh:216 msgid "a specific character" msgstr "un caracter specific" #: ../txt2regex-0.7.sh:217 msgid "a literal string" msgstr "un sir de caractere" #: ../txt2regex-0.7.sh:218 msgid "an allowed characters list" msgstr "o lista de caractere permise" #: ../txt2regex-0.7.sh:219 msgid "a forbidden characters list" msgstr "a lista de caractere interzise" #: ../txt2regex-0.7.sh:220 msgid "a special combination" msgstr "o combinatie speciala" #: ../txt2regex-0.7.sh:221 msgid "a POSIX combination (locale aware)" msgstr "o combinatie POSIX (locale aware)" #: ../txt2regex-0.7.sh:222 msgid "a ready RegEx (not implemented)" msgstr "o expresie regulata existenta (optine ne-implementata)" #: ../txt2regex-0.7.sh:223 msgid "anything" msgstr "orice" #: ../txt2regex-0.7.sh:227 msgid "how many times (repetition)" msgstr "de cate ori (repetitii)" #: ../txt2regex-0.7.sh:228 msgid "one" msgstr "o data" #: ../txt2regex-0.7.sh:229 msgid "zero or one (optional)" msgstr "niciodata sau o data (camp optional)" #: ../txt2regex-0.7.sh:230 msgid "zero or more" msgstr "zero sau mai multe" #: ../txt2regex-0.7.sh:231 msgid "one or more" msgstr "unu sau mai multe" #: ../txt2regex-0.7.sh:232 msgid "exactly N" msgstr "de exact N ori" #: ../txt2regex-0.7.sh:233 msgid "up to N" msgstr "de pana la N ori" #: ../txt2regex-0.7.sh:234 msgid "at least N" msgstr "cel putin N ori" #: ../txt2regex-0.7.sh:238 msgid "uppercase letters" msgstr "litere mari" #: ../txt2regex-0.7.sh:239 msgid "lowercase letters" msgstr "litere mici" #: ../txt2regex-0.7.sh:240 msgid "numbers" msgstr "numere" #: ../txt2regex-0.7.sh:241 msgid "underscore" msgstr "underscore" #: ../txt2regex-0.7.sh:242 msgid "space" msgstr "spatiu" #: ../txt2regex-0.7.sh:243 msgid "TAB" msgstr "caracterul TAB" #: ../txt2regex-0.7.sh:248 msgid "letters" msgstr "litere" ##duplicated##: ../txt2regex-0.7.sh:249 ##duplicated##: ../txt2regex-0.7.sh:250 ##duplicated##: ../txt2regex-0.7.sh:251 #: ../txt2regex-0.7.sh:252 msgid "letters and numbers" msgstr "litere si numere" #: ../txt2regex-0.7.sh:253 msgid "hexadecimal numbers" msgstr "numere hexadecimale" #: ../txt2regex-0.7.sh:254 msgid "whitespaces (space and TAB)" msgstr "spatii albe (spatii si TAB-uri)" #: ../txt2regex-0.7.sh:255 msgid "graphic chars (not-whitespace)" msgstr "caractere grafice (care nu sunt spatii albe)" #: ../txt2regex-0.7.sh:260 msgid "quit" msgstr "renunta" #: ../txt2regex-0.7.sh:261 msgid "reset" msgstr "reporneste" #: ../txt2regex-0.7.sh:262 msgid "color" msgstr "culoare" #: ../txt2regex-0.7.sh:263 msgid "programs" msgstr "programe" #: ../txt2regex-0.7.sh:269 msgid "or" msgstr "sau" #: ../txt2regex-0.7.sh:270 msgid "open group" msgstr "deschide grupare" #: ../txt2regex-0.7.sh:271 msgid "close group" msgstr "inchide grupare" #: ../txt2regex-0.7.sh:272 msgid "not supported" msgstr "nu e suportata" #: ../txt2regex-0.7.sh:395 msgid "NOTE: . [] [^] and * are the same on all programs." msgstr "NOTA: . [] [^] si * sunt aceleasi in toate programele." #: ../txt2regex-0.7.sh:399 msgid "NO" msgstr "NU" ##duplicated##: ../txt2regex-0.7.sh:399 #: ../txt2regex-0.7.sh:408 msgid "unknown program" msgstr "program necunoscut" #: ../txt2regex-0.7.sh:409 msgid "YES" msgstr "DA" ##duplicated##: ../txt2regex-0.7.sh:410 #: ../txt2regex-0.7.sh:417 msgid "program" msgstr "program" #: ../txt2regex-0.7.sh:417 msgid "metas" msgstr "meta caractere" #: ../txt2regex-0.7.sh:417 msgid "esc meta" msgstr "meta-caractere escapate" #: ../txt2regex-0.7.sh:417 msgid "need esc" msgstr "necesita esc" #: ../txt2regex-0.7.sh:417 msgid "\\t in []" msgstr "\\t in []" #: ../txt2regex-0.7.sh:417 msgid "[:POSIX:]" msgstr "[:POSIX:]" #: ../txt2regex-0.7.sh:449 msgid "" "error:\n" " your screen has %s lines and should have at least %s to this\n" " program fit on it. increase the number of lines or select\n" " less programs to show the RegEx.\\n\\n" msgstr "" "eroare:\n" " ecranul tau are %s linii si trebuie sa aiba cel putin %s pentru ca\n" " acest(e) program(e) sa incapa in el. Mareste numarul de linii sau alege\n" " mai putine programe pentru care sa arat expresiile regulate.\\n\\n" #: ../txt2regex-0.7.sh:566 msgid "which one?" msgstr "care din ele?" #: ../txt2regex-0.7.sh:578 msgid "which?" msgstr "care?" #: ../txt2regex-0.7.sh:754 msgid "exit" msgstr "iesire" #: ../txt2regex-0.7.sh:755 msgid "press the letters to (un)select the items" msgstr "apasa literele ca sa (de)selectezi elementele" #: ../txt2regex-0.7.sh:869 msgid "repeated" msgstr "repetata" #: ../txt2regex-0.7.sh:870 msgid "times" msgstr "ori" #: ../txt2regex-0.7.sh:877 msgid "Really quit?" msgstr "Esti sigur(a) ca vrei sa renunti?" #: ../txt2regex-0.7.sh:890 msgid "no RegEx" msgstr "no RegEx" txt2regex-0.8/po/de_DE.po0100644000231000023120000001642107526674062015124 0ustar aurelioaureliomsgid "" msgstr "" "Project-Id-Version: txt2regex 0.5\n" "POT-Creation-Date: 2002-03-04 20:03 BRT\n" "PO-Revision-Date: 2001-08-29 09:55+0100\n" "Last-Translator: Jan Parthey \n" "Language-Team: txt2regex German team \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=iso-8859-1\n" "Content-Transfer-Encoding: 8bit\n" #: ../txt2regex-0.7.sh:97 #, fuzzy msgid "" "usage: txt2regex [--nocolor|--whitebg|--all]\n" " txt2regex --showmeta|--showinfo \n" " txt2regex [--all|--prog ] --make \n" " txt2regex --history \n" "\n" "OPTIONS (they are default OFF):\n" "\n" " --all works with all registered programs\n" " --nocolor self-explanatory\n" " --whitebg colors adjusted to white background terminals\n" " --showmeta prints a complete metachar table for all programs\n" " --showinfo prints regex info about the program\n" "\n" " --history prints to STDOUT a RegEx from a history data\n" " --make prints a ready RegEx for a common pattern\n" " --prog choose which programs to use (separated by commas)\n" "\n" " --version prints the program version and quit\n" " --help prints the help message and quit\n" "\n" "for more details about the options, read the README file." msgstr "" "benutze: txt2regex [--nocolor|--whitebg|--all]\n" " txt2regex --showmeta|--showinfo \n" " txt2regex --history \n" "\n" "OPTIONS (voreingestellt sind alle AUS):\n" "\n" " --all arbeitet mit allen registrierten Programmen\n" " --nocolor selbst erklärend\n" " --whitebg Farben für Terminals mit weißen Hintergrund\n" " --showmeta druckt eine komplette Metachar Tabelle für alle " "Programme\n" " --showinfo druckt regex Infos über das angegebene Programm\n" " --history druckt nach STDOUT eine RegEx aus den history Daten\n" "\n" " --version prints the program version and quit\n" " --help prints the help message and quit\n" "\n" "Für nähere Hinweise zu den Optionen lesen Sie bitte das README File." #: ../txt2regex-0.7.sh:177 msgid "invalid argument" msgstr "" #: ../txt2regex-0.7.sh:178 msgid "valid names are:" msgstr "" #: ../txt2regex-0.7.sh:197 msgid "invalid option" msgstr "" #: ../txt2regex-0.7.sh:208 msgid "start to match" msgstr "Beginn der Übereinstimmung" #: ../txt2regex-0.7.sh:209 msgid "on the line beginning" msgstr "am Zeilenanfang" #: ../txt2regex-0.7.sh:210 msgid "in any part of the line" msgstr "irgendwo in der Zeile" #: ../txt2regex-0.7.sh:214 msgid "followed by" msgstr "gefolgt von" #: ../txt2regex-0.7.sh:215 msgid "any character" msgstr "einem beliebigen Zeichen" #: ../txt2regex-0.7.sh:216 msgid "a specific character" msgstr "einem bestimmten Zeichen" #: ../txt2regex-0.7.sh:217 msgid "a literal string" msgstr "einer Buchstabenfolge" #: ../txt2regex-0.7.sh:218 msgid "an allowed characters list" msgstr "einer Liste erlaubter Zeichen" #: ../txt2regex-0.7.sh:219 msgid "a forbidden characters list" msgstr "einer Liste verbotener Zeichen" #: ../txt2regex-0.7.sh:220 msgid "a special combination" msgstr "einer speziellen Kombination" #: ../txt2regex-0.7.sh:221 msgid "a POSIX combination (locale aware)" msgstr "einer POSIX Kombination (lokale Einstellungen beachten)" #: ../txt2regex-0.7.sh:222 msgid "a ready RegEx (not implemented)" msgstr "einer fertigen RegEx (noch nicht implementiert)" #: ../txt2regex-0.7.sh:223 msgid "anything" msgstr "etwas Beliebigen" #: ../txt2regex-0.7.sh:227 msgid "how many times (repetition)" msgstr "wie oft (Wiederholung)" #: ../txt2regex-0.7.sh:228 msgid "one" msgstr "einmal" #: ../txt2regex-0.7.sh:229 msgid "zero or one (optional)" msgstr "null oder einmal (wahlweise)" #: ../txt2regex-0.7.sh:230 msgid "zero or more" msgstr "null oder mehrmals" #: ../txt2regex-0.7.sh:231 msgid "one or more" msgstr "einmmal oder mehrmals" #: ../txt2regex-0.7.sh:232 msgid "exactly N" msgstr "exakt N mal" #: ../txt2regex-0.7.sh:233 msgid "up to N" msgstr "bis zu N mal" #: ../txt2regex-0.7.sh:234 msgid "at least N" msgstr "weniger als N mal" #: ../txt2regex-0.7.sh:238 msgid "uppercase letters" msgstr "Großbuchstaben" #: ../txt2regex-0.7.sh:239 msgid "lowercase letters" msgstr "Kleinbuchstaben" #: ../txt2regex-0.7.sh:240 msgid "numbers" msgstr "Zahlen" #: ../txt2regex-0.7.sh:241 msgid "underscore" msgstr "Unterstrich" #: ../txt2regex-0.7.sh:242 msgid "space" msgstr "Leerzeichen" #: ../txt2regex-0.7.sh:243 msgid "TAB" msgstr "TAB" #: ../txt2regex-0.7.sh:248 msgid "letters" msgstr "Buchstaben" #: ../txt2regex-0.7.sh:252 msgid "letters and numbers" msgstr "Buchstaben und Zahlen" #: ../txt2regex-0.7.sh:253 msgid "hexadecimal numbers" msgstr "Hexadezimalzahlen" #: ../txt2regex-0.7.sh:254 msgid "whitespaces (space and TAB)" msgstr "Zwischenraum (Leerzeichen und TAB)" #: ../txt2regex-0.7.sh:255 msgid "graphic chars (not-whitespace)" msgstr "grafische Zeichen (keine Leerzeichen)" #: ../txt2regex-0.7.sh:260 msgid "quit" msgstr "verlassen" #: ../txt2regex-0.7.sh:261 msgid "reset" msgstr "zurückstellen" #: ../txt2regex-0.7.sh:262 msgid "color" msgstr "Farbe" #: ../txt2regex-0.7.sh:263 msgid "programs" msgstr "Programme" #: ../txt2regex-0.7.sh:269 msgid "or" msgstr "oder" #: ../txt2regex-0.7.sh:270 msgid "open group" msgstr "öffne Gruppe" #: ../txt2regex-0.7.sh:271 msgid "close group" msgstr "schließe Gruppe" #: ../txt2regex-0.7.sh:272 msgid "not supported" msgstr "nicht unterstützt" #: ../txt2regex-0.7.sh:395 msgid "NOTE: . [] [^] and * are the same on all programs." msgstr "Anmerkung: . [] [^] und * bedeuten das selbe bei allen Programmen" #: ../txt2regex-0.7.sh:399 msgid "NO" msgstr "NEIN" #: ../txt2regex-0.7.sh:408 msgid "unknown program" msgstr "unbekanntes Programm" #: ../txt2regex-0.7.sh:409 msgid "YES" msgstr "JA" #: ../txt2regex-0.7.sh:417 msgid "program" msgstr "Programm" #: ../txt2regex-0.7.sh:417 msgid "metas" msgstr "metas" #: ../txt2regex-0.7.sh:417 msgid "esc meta" msgstr "esc meta" #: ../txt2regex-0.7.sh:417 msgid "need esc" msgstr "need esc" #: ../txt2regex-0.7.sh:417 msgid "\\t in []" msgstr "\\t in []" #: ../txt2regex-0.7.sh:417 msgid "[:POSIX:]" msgstr "[:POSIX:]" #: ../txt2regex-0.7.sh:449 msgid "" "error:\n" " your screen has %s lines and should have at least %s to this\n" " program fit on it. increase the number of lines or select\n" " less programs to show the RegEx.\\n\\n" msgstr "" "Fehler:\n" " Ihr Bildschirm verwendet %s Zeilen. Er sollte aber wenigstens %s Zeilen " "haben um\n" " dieses Programm richtig benutzen zu können. Erhöhen Sie die Zeilenanzahl\n" " oder wählen Sie weniger Programme für die anzuzeigenden RegEx.\\n\\n" #: ../txt2regex-0.7.sh:566 msgid "which one?" msgstr "welches?" #: ../txt2regex-0.7.sh:578 msgid "which?" msgstr "welche?" #: ../txt2regex-0.7.sh:754 msgid "exit" msgstr "beenden" #: ../txt2regex-0.7.sh:755 msgid "press the letters to (un)select the items" msgstr "drücken Sie den Buchstaben um das Feld (an/ab)zuwählen" #: ../txt2regex-0.7.sh:869 msgid "repeated" msgstr "wiederholt" #: ../txt2regex-0.7.sh:870 msgid "times" msgstr " " #: ../txt2regex-0.7.sh:877 msgid "Really quit?" msgstr "Wirklich beenden?" #: ../txt2regex-0.7.sh:890 msgid "no RegEx" msgstr "keine RegEx" txt2regex-0.8/po/ja.po0100644000231000023120000001376307526674062014564 0ustar aurelioaureliomsgid "" msgstr "" "Project-Id-Version: txt2regex 0.6\n" "POT-Creation-Date: 2002-03-04 20:03 BRT\n" "PO-Revision-Date: 2001-09-15 10:53+0900\n" "Last-Translator: Koichi OIKE \n" "Language-Team: Japanese \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=euc-jp\n" "Content-Transfer-Encoding: 8bit\n" #: ../txt2regex-0.7.sh:97 msgid "" "usage: txt2regex [--nocolor|--whitebg|--all]\n" " txt2regex --showmeta|--showinfo \n" " txt2regex [--all|--prog ] --make \n" " txt2regex --history \n" "\n" "OPTIONS (they are default OFF):\n" "\n" " --all works with all registered programs\n" " --nocolor self-explanatory\n" " --whitebg colors adjusted to white background terminals\n" " --showmeta prints a complete metachar table for all programs\n" " --showinfo prints regex info about the program\n" "\n" " --history prints to STDOUT a RegEx from a history data\n" " --make prints a ready RegEx for a common pattern\n" " --prog choose which programs to use (separated by commas)\n" "\n" " --version prints the program version and quit\n" " --help prints the help message and quit\n" "\n" "for more details about the options, read the README file." msgstr "" #: ../txt2regex-0.7.sh:177 msgid "invalid argument" msgstr "" #: ../txt2regex-0.7.sh:178 msgid "valid names are:" msgstr "" #: ../txt2regex-0.7.sh:197 msgid "invalid option" msgstr "" #: ../txt2regex-0.7.sh:208 msgid "start to match" msgstr "¥Þ¥Ã¥Á¤ò»Ï¤á¤ë¤Î¤Ï" #: ../txt2regex-0.7.sh:209 msgid "on the line beginning" msgstr "¹Ô¤ÎÀèÆ¬¤«¤é" #: ../txt2regex-0.7.sh:210 msgid "in any part of the line" msgstr "¹Ô¤ÎǤ°Õ¤ÎÉôʬ¤«¤é" #: ../txt2regex-0.7.sh:214 msgid "followed by" msgstr "¤½¤ì¤Ë³¤¤¤Æ" #: ../txt2regex-0.7.sh:215 msgid "any character" msgstr "Ǥ°Õ¤Îʸ»ú" #: ../txt2regex-0.7.sh:216 msgid "a specific character" msgstr "(¤½¤Î¤Þ¤Þ¤Î)ʸ»ú" #: ../txt2regex-0.7.sh:217 msgid "a literal string" msgstr "(¤½¤Î¤Þ¤Þ¤Î)ʸ»úÎó" #: ../txt2regex-0.7.sh:218 msgid "an allowed characters list" msgstr "ʸ»ú¥¯¥é¥¹" #: ../txt2regex-0.7.sh:219 msgid "a forbidden characters list" msgstr "ÈÝÄêʸ»ú¥¯¥é¥¹" #: ../txt2regex-0.7.sh:220 msgid "a special combination" msgstr "ÆÃÄê¤Îʸ»ú¤ÎÁȹ礻" #: ../txt2regex-0.7.sh:221 msgid "a POSIX combination (locale aware)" msgstr "POSIXʸ»ú¥¯¥é¥¹(¥í¥±¡¼¥ëÂбþ)" #: ../txt2regex-0.7.sh:222 msgid "a ready RegEx (not implemented)" msgstr "½àÈ÷ºÑ¤ß¤ÎÀµµ¬É½¸½(̤¼ÂÁõ)" #: ../txt2regex-0.7.sh:223 msgid "anything" msgstr "(0ʸ»ú°Ê¾å¤Î)Ǥ°Õ¤Îʸ»úÎó" #: ../txt2regex-0.7.sh:227 msgid "how many times (repetition)" msgstr "²¿²ó·«¤êÊÖ¤·¤Þ¤¹¤«" #: ../txt2regex-0.7.sh:228 msgid "one" msgstr "1" #: ../txt2regex-0.7.sh:229 msgid "zero or one (optional)" msgstr "0¤Þ¤¿¤Ï1" #: ../txt2regex-0.7.sh:230 msgid "zero or more" msgstr "¾¯¤Ê¤¯¤È¤â0" #: ../txt2regex-0.7.sh:231 msgid "one or more" msgstr "¾¯¤Ê¤¯¤È¤â1" #: ../txt2regex-0.7.sh:232 msgid "exactly N" msgstr "Àµ³Î¤ËN" #: ../txt2regex-0.7.sh:233 msgid "up to N" msgstr "1¤«¤éN" #: ../txt2regex-0.7.sh:234 msgid "at least N" msgstr "¾¯¤Ê¤¯¤È¤âN" #: ../txt2regex-0.7.sh:238 msgid "uppercase letters" msgstr "Âçʸ»ú¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È" #: ../txt2regex-0.7.sh:239 msgid "lowercase letters" msgstr "¾®Ê¸»ú¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È" #: ../txt2regex-0.7.sh:240 msgid "numbers" msgstr "¿ô»ú" #: ../txt2regex-0.7.sh:241 msgid "underscore" msgstr "²¼Àþ(_)" #: ../txt2regex-0.7.sh:242 msgid "space" msgstr "¥¹¥Ú¡¼¥¹" #: ../txt2regex-0.7.sh:243 msgid "TAB" msgstr "¥¿¥Ö" #: ../txt2regex-0.7.sh:248 msgid "letters" msgstr "¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È" # #duplicated##: ../txt2regex-0.6.sh:201 # #duplicated##: ../txt2regex-0.6.sh:202 # #duplicated##: ../txt2regex-0.6.sh:203 #: ../txt2regex-0.7.sh:252 msgid "letters and numbers" msgstr "¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¤È¿ô»ú" #: ../txt2regex-0.7.sh:253 msgid "hexadecimal numbers" msgstr "16¿Ê¿ô»ú" #: ../txt2regex-0.7.sh:254 msgid "whitespaces (space and TAB)" msgstr "¶õÇòʸ»ú(¥¹¥Ú¡¼¥¹¤È¥¿¥Ö)" #: ../txt2regex-0.7.sh:255 msgid "graphic chars (not-whitespace)" msgstr "Èó¶õÇòʸ»ú" #: ../txt2regex-0.7.sh:260 msgid "quit" msgstr "½ªÎ»" #: ../txt2regex-0.7.sh:261 msgid "reset" msgstr "¥ê¥»¥Ã¥È" #: ../txt2regex-0.7.sh:262 msgid "color" msgstr "¿§" #: ../txt2regex-0.7.sh:263 msgid "programs" msgstr "¥×¥í¥°¥é¥à" #: ../txt2regex-0.7.sh:269 msgid "or" msgstr "¤Þ¤¿¤Ï" #: ../txt2regex-0.7.sh:270 msgid "open group" msgstr "¥°¥ë¡¼¥×²½³«»Ï" #: ../txt2regex-0.7.sh:271 msgid "close group" msgstr "¥°¥ë¡¼¥×²½½ªÎ»" #: ../txt2regex-0.7.sh:272 msgid "not supported" msgstr "̤¥µ¥Ý¡¼¥ÈÉôʬ" #: ../txt2regex-0.7.sh:395 msgid "NOTE: . [] [^] and * are the same on all programs." msgstr "" #: ../txt2regex-0.7.sh:399 msgid "NO" msgstr "" # #duplicated##: ../txt2regex-0.6.sh:356 #: ../txt2regex-0.7.sh:408 msgid "unknown program" msgstr "" #: ../txt2regex-0.7.sh:409 msgid "YES" msgstr "" # #duplicated##: ../txt2regex-0.6.sh:367 #: ../txt2regex-0.7.sh:417 msgid "program" msgstr "" #: ../txt2regex-0.7.sh:417 msgid "metas" msgstr "" #: ../txt2regex-0.7.sh:417 msgid "esc meta" msgstr "" #: ../txt2regex-0.7.sh:417 msgid "need esc" msgstr "" #: ../txt2regex-0.7.sh:417 msgid "\\t in []" msgstr "" #: ../txt2regex-0.7.sh:417 msgid "[:POSIX:]" msgstr "" #: ../txt2regex-0.7.sh:449 msgid "" "error:\n" " your screen has %s lines and should have at least %s to this\n" " program fit on it. increase the number of lines or select\n" " less programs to show the RegEx.\\n\\n" msgstr "" #: ../txt2regex-0.7.sh:566 msgid "which one?" msgstr "¤É¤Îʸ»ú?" #: ../txt2regex-0.7.sh:578 msgid "which?" msgstr "¤É¤Î¤è¤¦¤Ê?" #: ../txt2regex-0.7.sh:754 msgid "exit" msgstr "Ìá¤ë" #: ../txt2regex-0.7.sh:755 msgid "press the letters to (un)select the items" msgstr "ʸ»ú¤òÆþÎϤ·¤Æ¹àÌܤòÁªÂò(²ò½ü)¤·¤Æ¤¯¤À¤µ¤¤" #: ../txt2regex-0.7.sh:869 msgid "repeated" msgstr "·«¤êÊÖ¤·¤Ï" #: ../txt2regex-0.7.sh:870 msgid "times" msgstr "²ó" #: ../txt2regex-0.7.sh:877 msgid "Really quit?" msgstr "" #: ../txt2regex-0.7.sh:890 msgid "no RegEx" msgstr "Àµµ¬É½¸½¤Ï¤¢¤ê¤Þ¤»¤ó" txt2regex-0.8/po/es_ES.po0100644000231000023120000001666310047732527015163 0ustar aurelioaureliomsgid "" msgstr "" "Project-Id-Version: txt2regex 0.7\n" "POT-Creation-Date: 2002-03-04 20:03 BRT\n" "PO-Revision-Date: 2002-03-12 20:03-0000\n" "Last-Translator: Diego Moya Velázquez \n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=iso-8859-1\n" "Content-Transfer-Encoding: 8BIT\n" #: ../txt2regex-0.7.sh:97 msgid "" "usage: txt2regex [--nocolor|--whitebg|--all]\n" " txt2regex --showmeta|--showinfo \n" " txt2regex [--all|--prog ] --make \n" " txt2regex --history \n" "\n" "OPTIONS (they are default OFF):\n" "\n" " --all works with all registered programs\n" " --nocolor self-explanatory\n" " --whitebg colors adjusted to white background terminals\n" " --showmeta prints a complete metachar table for all programs\n" " --showinfo prints regex info about the program\n" "\n" " --history prints to STDOUT a RegEx from a history data\n" " --make prints a ready RegEx for a common pattern\n" " --prog choose which programs to use (separated by commas)\n" "\n" " --version prints the program version and quit\n" " --help prints the help message and quit\n" "\n" "for more details about the options, read the README file." msgstr "" "uso: txt2regex [--nocolor|--whitebg|--all]\n" " txt2regex --showmeta|--showinfo \n" " txt2regex [--all|--prog ] --make \n" " txt2regex --history \n" "\n" "OPCIONES (por defecto están DESACTIVADAS):\n" "\n" " --all funciona com todos los programas registrados\n" " --nocolor no usar colores\n" " --whitebg colores ajustados para terminales de fondo blanco\n" " --showmeta muestra una tabla con los metacaracteres para todos los programas\n" " --showinfo muestra información sobre las RegEx del programa\n" "\n" " --history muestra en la salida estándar una RegEx guardada en el histórico\n" " --make muestra una RegEx para una expresión de un tipo habitual\n" " --prog escoge qué programas usar (separados por comas)\n" "\n" " --version muestra la versión del programa y termina\n" " --help muestra el mensaje de ayuda y termina\n" "\n" "para más detalles, lea el archivo README." #: ../txt2regex-0.7.sh:177 msgid "invalid argument" msgstr "argumento no válido" #: ../txt2regex-0.7.sh:178 msgid "valid names are:" msgstr "los nobres válidos son:" #: ../txt2regex-0.7.sh:197 msgid "invalid option" msgstr "opción no válida" #: ../txt2regex-0.7.sh:208 msgid "start to match" msgstr "hacer coincidir" #: ../txt2regex-0.7.sh:209 msgid "on the line beginning" msgstr "al comienzo de la línea" #: ../txt2regex-0.7.sh:210 msgid "in any part of the line" msgstr "en cualquier parte de la línea" #: ../txt2regex-0.7.sh:214 msgid "followed by" msgstr "seguido de" #: ../txt2regex-0.7.sh:215 msgid "any character" msgstr "un carácter cualquiera" #: ../txt2regex-0.7.sh:216 msgid "a specific character" msgstr "un carácter específico" #: ../txt2regex-0.7.sh:217 msgid "a literal string" msgstr "una cadena literal de caracteres" #: ../txt2regex-0.7.sh:218 msgid "an allowed characters list" msgstr "una lista de caracteres permitidos" #: ../txt2regex-0.7.sh:219 msgid "a forbidden characters list" msgstr "una lista de caracteres prohibidos" #: ../txt2regex-0.7.sh:220 msgid "a special combination" msgstr "una combinación especial" #: ../txt2regex-0.7.sh:221 msgid "a POSIX combination (locale aware)" msgstr "una combinación POSIX (incluyendo caracteres locales)" #: ../txt2regex-0.7.sh:222 msgid "a ready RegEx (not implemented)" msgstr "una RegEx lista para usar (no implementado)" #: ../txt2regex-0.7.sh:223 msgid "anything" msgstr "cualquier cosa" #: ../txt2regex-0.7.sh:227 msgid "how many times (repetition)" msgstr "cuántas veces (repetición)" #: ../txt2regex-0.7.sh:228 msgid "one" msgstr "una" #: ../txt2regex-0.7.sh:229 msgid "zero or one (optional)" msgstr "cero o una (opcional)" #: ../txt2regex-0.7.sh:230 msgid "zero or more" msgstr "cero o más" #: ../txt2regex-0.7.sh:231 msgid "one or more" msgstr "una o más" #: ../txt2regex-0.7.sh:232 msgid "exactly N" msgstr "exactamente N" #: ../txt2regex-0.7.sh:233 msgid "up to N" msgstr "como mucho N" #: ../txt2regex-0.7.sh:234 msgid "at least N" msgstr "como mínimo N" #: ../txt2regex-0.7.sh:238 msgid "uppercase letters" msgstr "letras mayúsculas" #: ../txt2regex-0.7.sh:239 msgid "lowercase letters" msgstr "letras minúsculas" #: ../txt2regex-0.7.sh:240 msgid "numbers" msgstr "cifras" #: ../txt2regex-0.7.sh:241 msgid "underscore" msgstr "carácter de subrayado" #: ../txt2regex-0.7.sh:242 msgid "space" msgstr "espacio" #: ../txt2regex-0.7.sh:243 msgid "TAB" msgstr "TAB" #: ../txt2regex-0.7.sh:248 msgid "letters" msgstr "letras" #: ../txt2regex-0.7.sh:252 msgid "letters and numbers" msgstr "cifras y letras" #: ../txt2regex-0.7.sh:253 msgid "hexadecimal numbers" msgstr "cifras hexadecimales" #: ../txt2regex-0.7.sh:254 msgid "whitespaces (space and TAB)" msgstr "blancos (espacio y TAB)" #: ../txt2regex-0.7.sh:255 msgid "graphic chars (not-whitespace)" msgstr "caracteres gráficos (no blancos)" #: ../txt2regex-0.7.sh:260 msgid "quit" msgstr "salir" #: ../txt2regex-0.7.sh:261 msgid "reset" msgstr "reiniciar" #: ../txt2regex-0.7.sh:262 msgid "color" msgstr "color" #: ../txt2regex-0.7.sh:263 msgid "programs" msgstr "programas" #: ../txt2regex-0.7.sh:269 msgid "or" msgstr "o" #: ../txt2regex-0.7.sh:270 msgid "open group" msgstr "abrir grupo" #: ../txt2regex-0.7.sh:271 msgid "close group" msgstr "cerrar grupo" #: ../txt2regex-0.7.sh:272 msgid "not supported" msgstr "no soportado" #: ../txt2regex-0.7.sh:395 msgid "NOTE: . [] [^] and * are the same on all programs." msgstr "NOTA: . [] [^] y * son iguales para todos los programas." #: ../txt2regex-0.7.sh:399 msgid "NO" msgstr "NO" #: ../txt2regex-0.7.sh:408 msgid "unknown program" msgstr "programa desconocido" #: ../txt2regex-0.7.sh:409 msgid "YES" msgstr "SI" #: ../txt2regex-0.7.sh:417 msgid "program" msgstr "programa" #: ../txt2regex-0.7.sh:417 msgid "metas" msgstr "metacaracteres" #: ../txt2regex-0.7.sh:417 msgid "esc meta" msgstr "metacarácter de escape" #: ../txt2regex-0.7.sh:417 msgid "need esc" msgstr "necesitan escape" #: ../txt2regex-0.7.sh:417 msgid "\\t in []" msgstr "\\t en []" #: ../txt2regex-0.7.sh:417 msgid "[:POSIX:]" msgstr "[:POSIX:]" #: ../txt2regex-0.7.sh:449 msgid "" "error:\n" " your screen has %s lines and should have at least %s to this\n" " program fit on it. increase the number of lines or select\n" " less programs to show the RegEx.\\n\\n" msgstr "" "error:\n" " Su pantalla tiene %s líneas y debe tener como mínimo %s para que\n" " este programa quepa en ella. Aumente el número de líneas o\n" " seleccione menos programas para mostrar la RegEx.\\n\\n" #: ../txt2regex-0.7.sh:566 msgid "which one?" msgstr "¿cuál?" #: ../txt2regex-0.7.sh:578 msgid "which?" msgstr "¿cuáles?" #: ../txt2regex-0.7.sh:754 msgid "exit" msgstr "salir" #: ../txt2regex-0.7.sh:755 msgid "press the letters to (un)select the items" msgstr "pulse las letras para (des)ativar los items" #: ../txt2regex-0.7.sh:869 msgid "repeated" msgstr "repetido" #: ../txt2regex-0.7.sh:870 msgid "times" msgstr "veces" #: ../txt2regex-0.7.sh:877 msgid "Really quit?" msgstr "¿Salir?" #: ../txt2regex-0.7.sh:890 msgid "no RegEx" msgstr "ninguna RegEx" txt2regex-0.8/po/it_IT.po0100644000231000023120000002021310126324204015142 0ustar aurelioaurelio# Translator: Daniele Pizzolli # Revision : Marco Pagnanini # msgid "" msgstr "" "Project-Id-Version: txt2regex 0.7\n" "POT-Creation-Date: 2002-03-04 20:03 BRT\n" "PO-Revision-Date: 2003-02-20 13:24+0100\n" "Last-Translator: Marco Pagnanini\n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=ISO-8859-1\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 0.9.6\n" #: ../txt2regex-0.7.sh:97 msgid "" "usage: txt2regex [--nocolor|--whitebg|--all]\n" " txt2regex --showmeta|--showinfo \n" " txt2regex [--all|--prog ] --make \n" " txt2regex --history \n" "\n" "OPTIONS (they are default OFF):\n" "\n" " --all works with all registered programs\n" " --nocolor self-explanatory\n" " --whitebg colors adjusted to white background terminals\n" " --showmeta prints a complete metachar table for all programs\n" " --showinfo prints regex info about the program\n" "\n" " --history prints to STDOUT a RegEx from a history data\n" " --make prints a ready RegEx for a common pattern\n" " --prog choose which programs to use (separated by commas)\n" "\n" " --version prints the program version and quit\n" " --help prints the help message and quit\n" "\n" "for more details about the options, read the README file." msgstr "" "uso: txt2regex [--nocolor|--whitebg|--all]\n" " txt2regex --showmeta|--showinfo \n" " txt2regex [--all|--prog ] --make \n" " txt2regex --history \n" "\n" "OPZIONI (non attive di default):\n" "\n" " --all funziona con tutti i programmi registrati\n" " --nocolor autoesplicativo\n" " --whitebg colori adatti per lo sfondo bianco\n" " --showmeta stampa una tabella completa dei metacaratteri per ogni programma\n" " --showinfo stampa delle informazioni sulle RegEx del programma\n" " --history stampa sullo standard output la RegEx presa dalla history\n" " --make stampa una RegEx da una espressione comune\n" " --prog sceglie quali programmi usare (separati da virgole)\n" " --version stampa la versione del programma ed esce\n" " --help stampa il messaggio d'aiuto ed esce\n" "per maggiori dettagli riguardo alle opzioni, leggi il file README." #: ../txt2regex-0.7.sh:177 msgid "invalid argument" msgstr "argomento non corretto" #: ../txt2regex-0.7.sh:178 msgid "valid names are:" msgstr "nomi validi sono:" ##duplicated##: ../txt2regex-0.7.sh:188 #: ../txt2regex-0.7.sh:197 msgid "invalid option" msgstr "opzione non corretta" #: ../txt2regex-0.7.sh:208 # ??? # ricerca della corrispondenza? msgid "start to match" msgstr "inizia la ricerca" #: ../txt2regex-0.7.sh:209 msgid "on the line beginning" msgstr "all'inizio della riga" #: ../txt2regex-0.7.sh:210 msgid "in any part of the line" msgstr "in qualsiasi parte della riga" #: ../txt2regex-0.7.sh:214 # continua con è meglio di seguito da perché va bene per M e F msgid "followed by" msgstr "continua con" #: ../txt2regex-0.7.sh:215 msgid "any character" msgstr "un qualsiasi carattere" #: ../txt2regex-0.7.sh:216 msgid "a specific character" msgstr "un carattere specifico" #: ../txt2regex-0.7.sh:217 # this means that . becomes \. and $ becomes \$ in vim or not? # I don't understand or this is a bug! # da inserire letteralmente??? msgid "a literal string" msgstr "una stringa da interpretare letteralmente" #: ../txt2regex-0.7.sh:218 msgid "an allowed characters list" msgstr "una lista di caratteri ammessi" #: ../txt2regex-0.7.sh:219 msgid "a forbidden characters list" msgstr "una lista di caratteri non ammessi" #: ../txt2regex-0.7.sh:220 msgid "a special combination" msgstr "una combinazione speciale" #: ../txt2regex-0.7.sh:221 msgid "a POSIX combination (locale aware)" msgstr "una combinazione POSIX (tiene conto delle impostazioni locali)" #: ../txt2regex-0.7.sh:222 msgid "a ready RegEx (not implemented)" msgstr "una RegEx pronta (non ancora implementato)" #: ../txt2regex-0.7.sh:223 msgid "anything" msgstr "qualsiasi cosa" #: ../txt2regex-0.7.sh:227 msgid "how many times (repetition)" msgstr "quante volte deve essere ripetuta" #: ../txt2regex-0.7.sh:228 msgid "one" msgstr "una" #: ../txt2regex-0.7.sh:229 msgid "zero or one (optional)" msgstr "zero o una (opzionale)" #: ../txt2regex-0.7.sh:230 msgid "zero or more" msgstr "zero o più" #: ../txt2regex-0.7.sh:231 msgid "one or more" msgstr "una o più" #: ../txt2regex-0.7.sh:232 msgid "exactly N" msgstr "esattamente N" #: ../txt2regex-0.7.sh:233 msgid "up to N" msgstr "al minimo N" #: ../txt2regex-0.7.sh:234 msgid "at least N" msgstr "al massimo N" #: ../txt2regex-0.7.sh:238 msgid "uppercase letters" msgstr "lettere maiuscole" #: ../txt2regex-0.7.sh:239 msgid "lowercase letters" msgstr "lettere minuscole" #: ../txt2regex-0.7.sh:240 msgid "numbers" msgstr "numeri" #: ../txt2regex-0.7.sh:241 msgid "underscore" msgstr "trattino basso (underscore)" #: ../txt2regex-0.7.sh:242 msgid "space" msgstr "spazio" #: ../txt2regex-0.7.sh:243 msgid "TAB" msgstr "TAB" #: ../txt2regex-0.7.sh:248 msgid "letters" msgstr "lettere" ##duplicated##: ../txt2regex-0.7.sh:249 ##duplicated##: ../txt2regex-0.7.sh:250 ##duplicated##: ../txt2regex-0.7.sh:251 #: ../txt2regex-0.7.sh:252 msgid "letters and numbers" msgstr "lettere e numeri" #: ../txt2regex-0.7.sh:253 msgid "hexadecimal numbers" msgstr "numeri esadecimali" #: ../txt2regex-0.7.sh:254 msgid "whitespaces (space and TAB)" msgstr "spazi bianchi (spazio e TAB)" #: ../txt2regex-0.7.sh:255 msgid "graphic chars (not-whitespace)" msgstr "caratteri grafici (cioè non spazi bianchi)" #: ../txt2regex-0.7.sh:260 msgid "quit" msgstr "esci" #: ../txt2regex-0.7.sh:261 msgid "reset" msgstr "riparti" #: ../txt2regex-0.7.sh:262 msgid "color" msgstr "colore" #: ../txt2regex-0.7.sh:263 msgid "programs" msgstr "programma" #: ../txt2regex-0.7.sh:269 msgid "or" msgstr "o" #: ../txt2regex-0.7.sh:270 msgid "open group" msgstr "apri gruppo (o)" #: ../txt2regex-0.7.sh:271 msgid "close group" msgstr "chiudi gruppo" #: ../txt2regex-0.7.sh:272 msgid "not supported" msgstr "non supportato" #: ../txt2regex-0.7.sh:395 # are the same or have the same meaning # o hanno lo stesso significato ??? msgid "NOTE: . [] [^] and * are the same on all programs." msgstr "NOTA: . [] [^] e * sono le stesse in ogni programma." #: ../txt2regex-0.7.sh:399 msgid "NO" msgstr "NO" ##duplicated##: ../txt2regex-0.7.sh:399 #: ../txt2regex-0.7.sh:408 msgid "unknown program" msgstr "programma sconosciuto" #: ../txt2regex-0.7.sh:409 msgid "YES" msgstr "Sì" ##duplicated##: ../txt2regex-0.7.sh:410 #: ../txt2regex-0.7.sh:417 msgid "program" msgstr "programma" #: ../txt2regex-0.7.sh:417 msgid "metas" msgstr "meta caratteri" #: ../txt2regex-0.7.sh:417 msgid "esc meta" msgstr "carattere esc" #: ../txt2regex-0.7.sh:417 msgid "need esc" msgstr "abbisognano di esc" #: ../txt2regex-0.7.sh:417 msgid "\\t in []" msgstr "\\t in []" #: ../txt2regex-0.7.sh:417 msgid "[:POSIX:]" msgstr "[:POSIX:]" #: ../txt2regex-0.7.sh:449 msgid "" "error:\n" " your screen has %s lines and should have at least %s to this\n" " program fit on it. increase the number of lines or select\n" " less programs to show the RegEx.\\n\\n" msgstr "" "errore:\n" " il tuo schermo ha %s linee e dovrebbe averne al minimo %s perché " " questo programma ci stia dentro. Aumenta il numero di linee o scegli " " meno programmi per i quali mostrare la RegEx\\n\\n" #: ../txt2regex-0.7.sh:566 msgid "which one?" msgstr "Quale?" #: ../txt2regex-0.7.sh:578 msgid "which?" msgstr "Quale?" #: ../txt2regex-0.7.sh:754 msgid "exit" msgstr "uscita" #: ../txt2regex-0.7.sh:755 msgid "press the letters to (un)select the items" msgstr "premi le lettere per (de)selezionare i programmi corrispondenti" #: ../txt2regex-0.7.sh:869 # solo per perché altrimenti bisogna tenere conto di M, F, S e P msgid "repeated" msgstr "per" #: ../txt2regex-0.7.sh:870 msgid "times" msgstr "volte" #: ../txt2regex-0.7.sh:877 msgid "Really quit?" msgstr "Vuoi veramente uscire?" #: ../txt2regex-0.7.sh:890 msgid "no RegEx" msgstr "nessuna RegEx" txt2regex-0.8/tools/0040755000231000023120000000000010126352507014330 5ustar aurelioaureliotxt2regex-0.8/tools/bashdump-rmdup.sh0100755000231000023120000000164010126352507017615 0ustar aurelioaurelio#!/bin/bash # bashdump-rmdup.sh # remove the duplicated entries generated by bash --dump-po-strings # needs: mktemp, cat, rm, sed, sort, uniq # 20010609 ** debut [ "$1" ] || { echo "usage: $0 potfile" ; exit 1 ; } potfile="$1" tmp=`mktemp /tmp/bashdump.XXXXXX` # numbering lines at the end and sorting cat -n $potfile | sed -n 's/^[[:blank:]]*\([0-9]\+\)[[:blank:]]*msgid "\(.*\)"$/\2#\1/p' | sort > $tmp repeatedlines=`sed 's/#[0-9]\+$//' $tmp | uniq -d` IFS=' ' for LINE in $repeatedlines; do # getting the first line of the repeated message lines=`sed -n "s/^$LINE#\([0-9]\+\)$/\1/p" $tmp | sort -n | sed 1d` for line in $lines; do linebefore=$((line-1)) lineafter=$((line+1)) sedcmd="$sedcmd ${linebefore}s/^#/##duplicated##/; ${lines}d; ${lineafter}d;" done done unset IFS rm $tmp sed "$sedcmd" $potfile #> $tmp #cat $tmp > $potfile #sed -n '/##duplicated##/p' $potfile txt2regex-0.8/test-suite/0040755000231000023120000000000010126352557015303 5ustar aurelioaureliotxt2regex-0.8/test-suite/result.txt0100644000231000023120000002573107526674064017401 0ustar aurelioaurelio------------------------ ] .{ .} ( ) .| + ? \] \{ \} \( \) \| \+ \? .^ .\^ $. \$. [\] [\\] ^[[:print:]] \t [\t] ------------------------ ed: GNU ed version 0.2 ------------------------ mawk: mawk 1.3.3 Nov 1996 ] _$[]{}()|+?^\ _ .{ _$[]{}()|+?^\ _ .} _$[]{}()|+?^\ _ ( mawk: line 1: regular expression compile failed (missing ')') ) mawk: line 1: regular expression compile failed (missing '(') .| mawk: line 1: regular expression compile failed (missing operand) + mawk: line 1: regular expression compile failed (missing operand) ? mawk: line 1: regular expression compile failed (missing operand) \] _$[]{}()|+?^\ _ \{ _$[]{}()|+?^\ _ \} _$[]{}()|+?^\ _ \( _$[]{}()|+?^\ _ \) _$[]{}()|+?^\ _ \| _$[]{}()|+?^\ _ \+ _$[]{}()|+?^\ _ \? _$[]{}()|+?^\ _ .^ .\^ _$[]{}()|+?^\ _ $. \$. _$[]{}()|+?^\ _ [\] mawk: line 1: regular expression compile failed (bad class -- [], [^] or [) [\\] _$[]{}()|+?^\ _ ^[[:print:]] \t _$[]{}()|+?^\ _ [\t] _$[]{}()|+?^ _ ------------------------ gawk: GNU Awk 3.0.6 ] _$[·{}()|+?^\ _ .{ _$[·}()|+?^\ _ .} _$[]·()|+?^\ _ ( gawk: cmd. line:1: fatal: Unmatched ( or \(: /(/ ) _$[]{}(·|+?^\ _ .| ··············· + _$[]{}()|·?^\ _ ? _$[]{}()|+·^\ _ \] _$[·{}()|+?^\ _ \{ _$[]·}()|+?^\ _ \} _$[]{·()|+?^\ _ \( _$[]{}·)|+?^\ _ \) _$[]{}(·|+?^\ _ \| _$[]{}()·+?^\ _ \+ _$[]{}()|·?^\ _ \? _$[]{}()|+·^\ _ .^ _$[]{}()|+?^\ _ .\^ _$[]{}()|+·\ _ $. _$[]{}()|+?^\ _ \$. _·]{}()|+?^\ _ [\] gawk: cmd. line:1: {print gensub(/[\]/, "·", "g")} gawk: cmd. line:1: ^ unterminated regexp [\\] _$[]{}()|+?^· _ ^[[:print:]] ·$[]{}()|+?^\ _ \t _$[]{}()|+?^\·_ [\t] _$[]{}()|+?^\·_ ------------------------ grep: grep (GNU grep) 2.4.2 ] _$[]{}()|+?^\ _ .{ _$[]{}()|+?^\ _ .} _$[]{}()|+?^\ _ ( _$[]{}()|+?^\ _ ) _$[]{}()|+?^\ _ .| _$[]{}()|+?^\ _ + _$[]{}()|+?^\ _ ? _$[]{}()|+?^\ _ \] _$[]{}()|+?^\ _ \{ _$[]{}()|+?^\ _ \} _$[]{}()|+?^\ _ \( grep: Unmatched ( or \( \) grep: Unmatched ) or \) \| _$[]{}()|+?^\ _ \+ _$[]{}()|+?^\ _ \? _$[]{}()|+?^\ _ .^ _$[]{}()|+?^\ _ .\^ _$[]{}()|+?^\ _ $. _$[]{}()|+?^\ _ \$. _$[]{}()|+?^\ _ [\] _$[]{}()|+?^\ _ [\\] _$[]{}()|+?^\ _ ^[[:print:]] _$[]{}()|+?^\ _ \t [\t] ------------------------ egrep: egrep (GNU grep) 2.4.2 ] _$[]{}()|+?^\ _ .{ _$[]{}()|+?^\ _ .} _$[]{}()|+?^\ _ ( egrep: Unmatched ( or \( ) egrep: Unmatched ) or \) .| _$[]{}()|+?^\ _ + _$[]{}()|+?^\ _ ? _$[]{}()|+?^\ _ \] _$[]{}()|+?^\ _ \{ _$[]{}()|+?^\ _ \} _$[]{}()|+?^\ _ \( _$[]{}()|+?^\ _ \) _$[]{}()|+?^\ _ \| _$[]{}()|+?^\ _ \+ _$[]{}()|+?^\ _ \? _$[]{}()|+?^\ _ .^ .\^ _$[]{}()|+?^\ _ $. \$. _$[]{}()|+?^\ _ [\] _$[]{}()|+?^\ _ [\\] _$[]{}()|+?^\ _ ^[[:print:]] _$[]{}()|+?^\ _ \t [\t] ------------------------ find: GNU find version 4.1 ] ./_$[]{}()|+?^\ _ .{ ./_$[]{}()|+?^\ _ .} ./_$[]{}()|+?^\ _ ( ./_$[]{}()|+?^\ _ ) ./_$[]{}()|+?^\ _ .| ./_$[]{}()|+?^\ _ + . ? . \] ./_$[]{}()|+?^\ _ \{ ./_$[]{}()|+?^\ _ \} ./_$[]{}()|+?^\ _ \( find: Unmatched ( or \( \) find: Unmatched ) or \) \| . \+ ./_$[]{}()|+?^\ _ \? ./_$[]{}()|+?^\ _ .^ ./_$[]{}()|+?^\ _ .\^ ./_$[]{}()|+?^\ _ $. ./_$[]{}()|+?^\ _ \$. ./_$[]{}()|+?^\ _ [\] ./_$[]{}()|+?^\ _ [\\] ./_$[]{}()|+?^\ _ ^[[:print:]] \t ./result [\t] ./result ------------------------ javascript: netscape-4.77
------------------------ perl: v5.6.0 built for i386-linux ] _$[·{}()|+?^\ _ .{ _$[·}()|+?^\ _ .} _$[]·()|+?^\ _ ( /(/: unmatched () in regexp at -e line 1. ) /)/: unmatched () in regexp at -e line 1. .| ················ + /+/: ?+*{} follows nothing in regexp at -e line 1. ? /?/: ?+*{} follows nothing in regexp at -e line 1. \] _$[·{}()|+?^\ _ \{ _$[]·}()|+?^\ _ \} _$[]{·()|+?^\ _ \( _$[]{}·)|+?^\ _ \) _$[]{}(·|+?^\ _ \| _$[]{}()·+?^\ _ \+ _$[]{}()|·?^\ _ \? _$[]{}()|+·^\ _ .^ _$[]{}()|+?^\ _ .\^ _$[]{}()|+·\ _ $. _$[]{}()|+?^\ _ \$. _·]{}()|+?^\ _ [\] /[\]/: unmatched [] in regexp at -e line 1. [\\] _$[]{}()|+?^· _ ^[[:print:]] ·$[]{}()|+?^\ _ \t _$[]{}()|+?^\·_ [\t] _$[]{}()|+?^\·_ ------------------------ php: 4.0.6 ] _$[·{}()|+?^\ _ .{ Warning: Unmatched \{ in - on line 1 .} _$[]·()|+?^\ _ ( Warning: Unmatched ( or \( in - on line 1 ) _$[]{}(·|+?^\ _ .| ················ + Warning: Invalid preceding regular expression in - on line 1 ? Warning: Invalid preceding regular expression in - on line 1 \] _$[·{}()|+?^\ _ \{ _$[]·}()|+?^\ _ \} _$[]{·()|+?^\ _ \( _$[]{}·)|+?^\ _ \) _$[]{}(·|+?^\ _ \| _$[]{}()·+?^\ _ \+ _$[]{}()|·?^\ _ \? _$[]{}()|+·^\ _ .^ .\^ _$[]{}()|+·\ _ $. \$. _·]{}()|+?^\ _ [\] _$[]{}()|+?^· _ [\\] _$[]{}()|+?^· _ ^[[:print:]] ·$[]{}()|+?^\ _ \t [\t] _$[]{}()|+?^· _ ------------------------ postgres: psql (PostgreSQL) 7.1.2 ] _$[]{}()|+?^\ _ .{ _$[]{}()|+?^\ _ .} _$[]{}()|+?^\ _ ( ERROR: Invalid regular expression: parentheses ( ) not balanced ) _$[]{}()|+?^\ _ .| ERROR: Invalid regular expression: empty expression or subexpression + ERROR: Invalid regular expression: ?, *, or + operand invalid ? ERROR: Invalid regular expression: ?, *, or + operand invalid \\] _$[]{}()|+?^\ _ \\{ _$[]{}()|+?^\ _ \\} _$[]{}()|+?^\ _ \\( _$[]{}()|+?^\ _ \\) _$[]{}()|+?^\ _ \\| _$[]{}()|+?^\ _ \\+ _$[]{}()|+?^\ _ \\? _$[]{}()|+?^\ _ .^ (0 rows) .\\^ _$[]{}()|+?^\ _ $. (0 rows) \\$. _$[]{}()|+?^\ _ [\] ERROR: Invalid regular expression: brackets [ ] not balanced [\\] _$[]{}()|+?^\ _ ^[[:print:]] _$[]{}()|+?^\ _ \t _$[]{}()|+?^\ _ [\t] _$[]{}()|+?^\ _ ------------------------ sed: GNU sed version 3.02.80 ] _$[·{}()|+?^ _ .{ _$[·}()|+?^ _ .} _$[]·()|+?^ _ ( _$[]{}·)|+?^ _ ) _$[]{}(·|+?^ _ .| _$[]{}(·+?^ _ + _$[]{}()|·?^ _ ? _$[]{}()|+·^ _ \] _$[·{}()|+?^ _ \{ _$[]·}()|+?^ _ \} _$[]{·()|+?^ _ \( sed: -e expressão #1, caractere 9: Unmatched ( or \( \) sed: -e expressão #1, caractere 9: Unmatched ) or \) \| ·_·$·[·]·{·}·(·)·|·+·?·^· ·_· \+ _$[]{}()|·?^ _ \? _$[]{}()|+·^ _ .^ _$[]{}()|+· _ .\^ _$[]{}()|+· _ $. _·]{}()|+?^ _ \$. _·]{}()|+?^ _ [\] [\\] ^[[:print:]] ·$[]{}()|+?^ _ \t _$[]{}()|+?^·_ [\t] _$[]{}()|+?^·_ ------------------------ tcl: 8.3 ] _${}()|+?^ _ .{ missing close-brace .} extra characters after close-brace ( couldn't compile regular expression pattern: parentheses () not balanced ) couldn't compile regular expression pattern: parentheses () not balanced .| ············ + couldn't compile regular expression pattern: quantifier operand invalid ? couldn't compile regular expression pattern: quantifier operand invalid \] _${}()|+?^ _ \{ _$·}()|+?^ _ \} _${·()|+?^ _ \( _${}·)|+?^ _ \) _${}(·|+?^ _ \| _${}()·+?^ _ \+ _${}()|·?^ _ \? _${}()|+·^ _ .^ _${}()|+?^ _ .\^ _${}()|+· _ $. _${}()|+?^ _ \$. _·}()|+?^ _ [\] couldn't compile regular expression pattern: brackets [] not balanced [\\] _${}()|+?^ _ ^[[:print:]] _${}()|+?^ _ \t _${}()|+?^·_ [\t] _${}()|+?^·_ ------------------------ vim: VIM - Vi IMproved 5.8 (2001 May 31) ------------------------ procmail: procmail v3.15.1 2001/01/08 ] Match .{ Match .} Match ( Invalid regexp "(" ) Invalid regexp ")" .| Match + Match ? No match \] Match \{ Match \} Match \( Invalid regexp "(" \) Invalid regexp ")" \| Match \+ Match \? Match .^ Match .\^ Match $. Match \$. Match [\] No match [\\] No match ^[[:print:]] No match \t No match [\t] No match ------------------------ txt2regex-0.8/test-suite/test-suite0100755000231000023120000001052210126352521017323 0ustar aurelioaurelio#!/bin/bash # test-suite # 20001026 debut # 20010802 ++ lots of changes #TODO php quebra linha em erro. # all this code smells like shit # someday i'll clean it #color=1 set -o noglob if [ ${color:=0} -eq 1 ] then cN=`echo -ne "\033[m"` # normal cY=`echo -ne "\033[1;33m"` # yellow else unset cN cW fi ms='] .{ .} ( ) .| + ? \] \{ \} \( \) \| \+ \? .^ .\^ $. \$. [\] [\\] ^[[:print:]] \t [\t]' re='_$[]{}()|+?^\ _' line='------------------------' echo $line echo $ms echo $line escesc(){ echo "$*" | sed 's/\\/\\\\/g'; } delesc4tabtest(){ re="${re/\\\\/}"; } echoprog(){ echo -n "$cY$1$cN: "; } echometa(){ printf '%-13s' "$1"; } er_ed(){ echoprog ed ed --version #TODO echo $line } er_Xwk(){ local m a ver='--version' for a in mawk gawk do echoprog "$a" [ "$a" == 'mawk' ] && ver='-W version' $a $ver 2>&- | sed 's/,.*//;q' for m in `echo $ms` do echometa "$m" ; if [ "$a" == 'mawk' ]; then [ "$m" == '[\t]' ] && delesc4tabtest echo -n "$re" | $a "/$m/{print}" 2>&1 | sed q else echo -n "$re" | $a "{print gensub(/$m/, \"$cY·$cN\", \"g\")}" 2>&1 | sed 2q fi echo done | sed '/^$/d' echo $line done } er_sed(){ local m echoprog sed sed --version | sed 1q for m in `echo $ms` do echometa "$m" ; echo -n "$re" | sed -n "s/$m/$cY·$cN/gp" 2>&1 ; echo done | sed '/^$/d' echo $line } er_Xgrep(){ local m for a in grep egrep do echoprog "$a" $a --version | sed 1q for m in `echo $ms` do echometa "$m" ; [ "$m" == '[\t]' ] && delesc4tabtest echo -n "$re" | ${a%-*} "$m" 2>&1 ; echo done | sed '/^$/d' echo $line done } er_php(){ local m echoprog php echo "" | php | sed 1,3d for m in `echo $ms` do echometa "$m" ; echo "" | php 2>&1 | sed '1,3d;/^
/d;s/<[^>]\+>//g' ; echo done | sed '/^ *$/d' echo $line } er_find(){ local m echoprog find find --version touch "$re" for m in `echo $ms` do echometa "$m" ; [ "$m" == '[\t]' ] && delesc4tabtest find . -regex ".*$m.*" -print 2>&1 | sed 1q ; echo done | sed '/^$/d' rm "$re" echo $line } # create table "teste" ("nome" char varying(50), "usu" char varying(30)) # insert into teste values('teste de escape', '_\$[]{}()|+?^\\\\_')" # TIP: DB must be runnig! er_postgres(){ local m echoprog postgres psql --version | sed q # wow. + needs to be \\+, but \t is ok and \\t is wrong... for m in `echo $ms` do [ "${m#[}" != "$m" -o "$m" == '\t' ] 2>/dev/null || m=`escesc $m` echometa "$m" ; [ "$m" == '[\t]' ] && delesc4tabtest echo select usu from teste where usu \~ \'$m\' | psql -e teste 2>&1 | sed '1d;s/^ //' | sed '/^ERROR/!{3!d;}' done echo $line } # save the output onto javascript.html and open in netscape er_javascript(){ echoprog javascript rpm -q --qf 'netscape-%{VERSION}\n' netscape-navigator re2=`escesc "$re"` # double escaping escaped metas echo "
' | tee -a javascript.html echo $line } er_perl(){ local m echoprog perl perl --version | sed -n '2s/.*, //p' for m in `echo $ms` do echometa "$m" ; echo -n "$re" | perl -pe "s/$m/$cY·$cN/g" 2>&1 ; echo done | sed '/^$/d' echo $line } er_tcl(){ local m echoprog tcl echo 'puts $tcl_version' | tclsh re=`escesc "$re"` for m in `echo $ms` do echometa "$m" ; # we need the tmpfile because it hangs on the 1st error on ...$res" | tclsh echo "regsub -all {${m}} \"$re\" \"·\" res; puts \$res" > tmp; tclsh tmp 2>&1 | sed "s/·/$cY&$cN/g;q" done rm -f tmp echo $line } er_vim(){ echoprog vim vim --version 2>&1 | sed 's/,.*/)/;q' #TODO echo $line } er_procmail(){ local m echoprog procmail procmail -v 2>&1 | sed q for m in `echo $ms`; do echometa "$m" ; [ "$m" == '[\t]' ] && delesc4tabtest ./procmail-re-test "$m" "$re" done echo $line } if [ "$1" ]; then eval er_$1 else er_ed er_Xwk er_Xgrep er_find er_javascript er_perl er_php er_postgres er_sed er_tcl er_vim er_procmail fi txt2regex-0.8/test-suite/procmail-re-test0100755000231000023120000000242410126352542020411 0ustar aurelioaurelio#!/bin/sh # procmail-re-test # 20010801 aurelio # # details: # * LOGFILE=/tmp forces error and log is sent to STDERR # * /dev/null because we don't want written files # * text input is accepted via $2, $3, ... or STDIN # * generic usage: procmail-re-test regex [text] # * usages: procmail-re-test regex your sample text # cat textfile | procmail-re-test regex # procmail-re-test regex < textfile # * output: Match, No match, Invalid regexp "..." # * examples: # $ cat abc # homer # bart # maggie # $ cat abc | ./procmail-re-test '^m' # Match # $ ./procmail-re-test '^m' "`cat abc`" # Match # $ ./procmail-re-test '^M' My cool line # Match # $ ./procmail-re-test '^z' My cool line # No match # $ ./procmail-re-test '^(' My cool line # Invalid regexp "^(" # [ "$1" ] || { echo "usage: $0 regex [text]"; exit 1; } tmpfile=`mktemp /tmp/procmail-re-test.XXXXXX` regex="$1"; shift; txt="$*" [ "$txt" ] || txt="`cat /dev/stdin`" # $* or stdin { echo -e "VERBOSE=y\nLOGFILE=/tmp\nDEFAULT=/dev/null\n:0" echo "* $regex" ; echo /dev/null ; } > $tmpfile echo "$txt" | procmail $tmpfile 2>&1 | sed -n -e '/^procmail: Invalid regexp/{s/^[^ ]* //p;q;}' \ -e 's/^procmail: \(\(No m\|M\)atch\) .*/\1/p' rm $tmpfile txt2regex-0.8/txt2regex.man0100644000231000023120000001112310126351616015614 0ustar aurelioaurelio.TH "TXT2REGEX" 1 "September, 28th - 2004" "" .SH NAME .P txt2regex \- a Regular Expression Wizard, written with bash2 builtins .SH SYNOPSIS .P \fBtxt2regex\fR .P \fBtxt2regex\fR \-\-nocolor|\-\-whitebg .P \fBtxt2regex\fR \-\-all|\-\-prog .P \fBtxt2regex\fR \-\-showmeta|\-\-showinfo .P \fBtxt2regex\fR \-\-make .P \fBtxt2regex\fR \-\-history .SH DESCRIPTION .P \fBtxt2regex\fR is a Regular Expression "wizard", all written with bash2 builtins, that converts human sentences to regexes. .P With a simple interactive interface, you just answer to questions and build your own regex for a large variety of programs, like awk, emacs, grep, perl, php, procmail, python, sed and vim. There are more than 20 supported programs. .P It's bash so download and run, no compilation needed. .P Please visit the program homepage at \fIhttp://txt2regex.sf.net\fR. .SH OPTIONS .TP \fB\-\-all\fR works with all registered programs .TP \fB\-\-help\fR prints the help message and quit .TP \fB\-\-history \fR prints to STDOUT a regex from a history data .TP \fB\-\-make \fR prints a ready regex for a common pattern .TP \fB\-\-nocolor\fR self\-explanatory .TP \fB\-\-prog \fR choose which programs to use (separated by commas) .TP \fB\-\-showinfo \fR prints regex info about the program .TP \fB\-\-showmeta\fR prints a complete metachar table for all programs .TP \fB\-\-version\fR prints the program version and quit .TP \fB\-\-whitebg\fR colors adjusted to white background terminals .P By default, all options are turned OFF. Just call it with no options to launch the default interactive interface. .SH DETAILS .P \fB\-\-all\fR is cool but requires lots of lines (~35) .P \fB\-\-nocolor\fR is strong, so it kills \-\-whitebg .P \fB\-\-showmeta\fR rules, try it .P \fB\-\-showinfo\fR uses reverse video output, \-\-nocolor turns it off .P \fB\-\-history\fR is getting useful, stay tunned .P \fB\-\-make\fR is a remedy for headaches .P \fB\-\-prog\fR is nice to use your favorite programs, mix it with \-\-make and \-\-history .SH EXAMPLES .TP Calling the program on the default interactive interface .nf $ txt2regex .fi .TP Calling the program on a white terminal .nf $ xterm -fg black -bg white ; txt2regex --whitebg .fi .TP Getting information .nf $ txt2regex --showmeta .fi .TP Getting specific information .nf $ txt2regex --showinfo sed .fi .TP Calling it for specific programs .nf $ txt2regex --prog vim,sed,grep,python .fi .TP Applying a history data .nf $ txt2regex --history '16421¤:01¤:' .fi .TP Getting ready regexes! .nf $ txt2regex --make hour $ txt2regex --make number3 --prog perl $ txt2regex --make date2 --all .fi .SH INTERFACE .P The program interface is simple and easy to use. This is its contents: .nf +---------------------------------------+ | -> Top menu | | -> Group menu | | | | -> Regexes of the programs selected | | ... | | ... | | | | -> History | | -> Your prompt | | | | -> The question | | -> The answers | | ... | | ... | +---------------------------------------+ .fi .P All the basic commands can be used on the numeric pad on the keyboard, but remember to turn ON the NumLock key. .TS center, tab(^); cl. \fBCommand\fR^\fBDescription\fR \fB.\fR^Quit the program (with confirmation) \fB0\fR^Reset the Regular Expression \fB1\-9\fR^Answers the questions \fB*\fR^Toggles color ON/OFF \fB/\fR^Add/remove programs on/from the list \fB|\fR^Insert an alternation (where allowed) \fB(\fR^Open a new group (where allowed) \fB)\fR^Close the opened group (if any) .TE .SH BUGS .P Bug reports and contributions are VERY welcome! Please send them to the author. .SH AUTHOR .P Written and maintained by Aurelio Marinho Jargas .SH COPYRIGHT .P Copyright © 2000, 2001, 2002, 2003, 2004 Aurelio Marinho Jargas .P This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. .\" man code generated by txt2tags 2.0 (http://txt2tags.sf.net) .\" cmdline: txt2tags -t man manpage.t2t