ELFp4iD$X[5%%h%h%h% h%h %h(%h0%h8p% h@`%$hHP%(hP@%,hX0%0h` %4hh%8hp%<hx%@h%Dh%Hh%Lh%Ph%Th%Xh%\hp%`h`%dhP%hh@%lh01^PTRhphQVhUS=u@-X9sB9r[]Ív'Utt $ÐU1]É'U1]É'U1SUt!$D$[@É$1[]ÐL$qUM]Q~HT$$t$É$i$qM]]aÍ&뽐UEtKtE@@@ @@ @$@@@]É'UEt"@@@ @]fU1]]u}td 1S 1Ʌt 1Ƀ{$C1҃{…tB tLLtCD$D$Q$!]u}]Í& Ӆ!ߍvF붐$03it&UED$$D$ɅÐt&UVSU3Ct$CC t$wC Ct$aCC t$KC C$t$5C$Ct$CCt$ C$t$~[^]Ð$j+&UwWV@eE1U艅EÉEreguElar_EsubESoftEwarefE IndT$EustrEy & EGeneEral EHardEwareEDž2009ƅDžDž:DžD$$eD$$D$GD$$D$)D$$D$ D$$D$D$D$$$ D$ ĬD$D$$D$D$$Ee3u @^_]Ðt&vU8eE1E}]uD$ |$D$$D$ƍ@$t$|$É$؋Ue3u ]u}]&UWVS|E$|U zD$EɃM$D$$EMɉEMAMEċ]E$L$\$EUB$Et E$x}t U$fM $E 0tUD$$T$|[^_]Ðt&] uUMĻ EMBpf$]UEUC EMM=t&M #t4$UMB $D$EO]U$D$D$;EtЬM $\$ D$8$D$] SUEUЋM]U\$ D$L$$D$É$ۉ]E]9ÉE_Uډ+}U }1ҍt&M]9|t&E~!E1ҍ 8]9U}}UEMA$D$] MMEEME t&E EdE9Ew M9MM11ɍ4t$&MM9r93]1ҋE4 t&9 f]D$լ$\$ 4$eM]A$D$$?Et&]C1vEUD$\$D$ T$uu9u}]$E9u|$E$t&1E%UĻEU &'UVS]u t$Ct$CCt$CC t$sF$C Ct$RF$Ct 1[^]ÐCuCus u1{U VSu] t!ۺtCt,$Q t[^]Í&C$}F $F$CCCCD$$Ct_ D$$$:CD$[C$tF D$C$^N ɉFS1҅I?&US]tpC uU&C $D$q$u$C $D$[U B$C []Ít&C [] UEU tU E]w&]Í&'US]St]KtQ$E P1tD$[$Ct&C$D$qC$u1[]Í&UWVS]E8<$E~]E]EfEE;]~;E]8UM4M>\u^<v'M]EEM;]Ɛ1[^_]Í$ ]E9ÉE~!&ED  9MQMX [^_]    v듍;x`vnfXt&'UVSutAt:< t61<#u.$ ft4$+9wߍ&[^]Ít&UWVS,MuE}EE |$D$ D$D$4$<D$!$#`9~1fM `D$<$T$`9ѡ$ D$D$ #vxfIv$t&kv$Ht&Sv$E8$|'&$t& v$ t&D$($EE$!D$$C E@ stdof@ut@]cD$$CE@stdif@n]=UEt$D$($e1҅tJ@@@ @@ @$@@@ÐUWVS,}fE-t EfE-sED$$n|$D$4$dt< vt1<#u ΍4$-9Ívs$uE}E4$|$4$9ÉEEE|$t$$^ +EUD$$EU ED$DD$E؉$E4$EEED$b|$t$EE$D$E+E$E)EUDD$T$U܉$jE܋}؉E&E1EEU t$E U1:"<$ED$$ËE <$|$$D$U؉$$Ut$EU$OD$$UËE$*$1ۉD$ED$uU܉$4$,[^_]û ߉'UWVS] ==> ( ( ( -u | --batch ) ) | ( -i | --ignoreCase ) | ( (-s | --regex) ( -t | --string ) ) ) ( --stdin | ( -f | --input ) ) [ ( -o | --output ) ] ==> ==> ==> ==> ==> regular_sub reads the file specified by (or stdin if --stdin is specified instead of -f) and looks for a match to . If a match is found regular_sub substitutes in place of the expression and continues the search (the substitution is global). regular_sub replaces all occurances of with that happen within a line and all occurances within all lines in a file. Options Notes: -u | --batch : process the specified file one line at a time. The specified file contains -s -t pairs. Each specified is replaced by a specified . Once the entire file is processed it is reopened and scanned again with the next -s -t pair until the batch file EOF is reached. This processing is is done in a temporary file in /tmp so the original source file is not affected. All processing by regular_sub is done as if the file was a text file. -i | --ignoreCase : ignore case in regular expression compilations -s | --regex : a regular-expression to be matched in the file specified by the -f option. -t | --string : a string substituted for the regular expression specified by the -s option. --stdin : use stdin as the input stream. If you cancel out of the input stream regular_sub will quit without output. -f | --input : a unix specified file name (absolute or relative, hard or soft link) within which the search for the regular-expression is done. -o | --output : For convienience a way to specify a file name to save the final output. Leave this option off to specify output to stdout. Output: A duplicate stream is created on stdout except that is substituted for . If no match for is found a duplication of the input stream is created. If an is specified the final output stream is written to that file if possible. If the write fails the output is written to stdout. Notes: can contain the following escaped characters: \a 0x07 \b 0x08 \f 0x0c \l 0x0a \n 0x0a (see note below) \r 0x0d \t 0x09 \v 0x0b \e 0x1b \^ thru Newline Note: *nix platforms tend to use linefeed as the new line character. Microslime's Windoze uses (0x0d 0x0a). The author really doesn't care what Microslime uses. \n will parse to linefeed. Control Character Note: The control character is generated by transforming the character immediately following the \^ to lower case, casting the unsigned byte to an integer 8-bits and finding the ordinal offset from the integer value for 'a' plus 1. This should result in the equivalent ASCII Control Character values of 01..26. Unicode values: Haven't decided how I want to do this yet. Why regular_sub: Have you tried doing a straight forward substitute? either the substitution string can't use escaped characters or you have to jump through some bizzare hoop writing boucoup script lines or worse: perl or even worse python or was that: p y t h o n OH NO IT ISN'T EVENLY SPACED SOMEWHERE! Unable to obtain buffers necessary to process output filesRead %d bytes; success is %sNULL Found a match starting at %d and ending at %d (option --help with no optional argument suppliedoption --help with optional argument %s option -s specified without a option -t specified without a option -o specified without an option -f specified without a file name.option -u specified without a IIII͘IIIIIzIzIIIҘIטIМ8 P 8 P 1.0.0NO ERROR FOUNDBatch file is completedUnknown ErrorNot enough memory was available to create the temporary files needed by regular_subTemporary files could not be created (check privleges on /tmp)Invalid REGULAR EXPRESSION foundCould not create temporary output file (check privleges on /tmp)Could not create temporary input file (chaeck privleges on /tmp)No output file specified (no place to put the output)Could not get enough memory for the internal CLI options structure used by regular_subCould not get enough memory for the internal Open Files structure used by regular_subNo substitution string specifiedCould not get enough memory for the internal buffers used by regular_subFailed to remove the previous temporary input file while batchingNo batch file found while batchingregular_sub failed to clean up the file name structure (memory_leaks)regular_sub fialed to clean up the CLI options structure (memory_leaks) p ho8xh S p ooo̅ Ƈև&6FVfvƈֈ&6FVfvbtŮiЮs֮uܮhf-oGCC: (Ubuntu 4.3.3-5ubuntu4) 4.3.3GCC: (Ubuntu 4.3.3-5ubuntu4) 4.3.3GCC: (Ubuntu 4.3.3-5ubuntu4) 4.3.3GCC: (Ubuntu 4.3.3-5ubuntu4) 4.3.3GCC: (Ubuntu 4.3.3-5ubuntu4) 4.3.3GCC: (Ubuntu 4.3.3-5ubuntu4) 4.3.3GCC: (Ubuntu 4.3.3-5ubuntu4) 4.3.3GCC: (Ubuntu 4.3.3-5ubuntu4) 4.3.3GCC: (Ubuntu 4.3.3-5ubuntu4) 4.3.3GCC: (Ubuntu 4.3.3-5ubuntu4) 4.3.3GCC: (Ubuntu 4.3.3-5ubuntu4) 4.3.3p"$p" $e$!`u_IO_stdin_used\p../sysdeps/i386/elf/start.S/build/buildd/glibc-2.9/csuGNU AS 2.19.1f [XmKFZ(intAa2,Ot_/build/buildd/glibc-2.9/build-tree/i386-libc/csu/crti.S/build/buildd/glibc-2.9/csuGNU AS 2.19.1Lq, /tmp/ccxq91nO.s/build/buildd/glibc-2.9/csuGNU AS 2.19.1%% $ > $ > $ > 4: ; I?  &IU%U%W2 ../sysdeps/i386/elfstart.Sp3!4=%" YZ!"\[# init.co /build/buildd/glibc-2.9/build-tree/i386-libc/csu../sysdeps/genericcrti.Sinitfini.cp!/!=Z!gg// !/!=Z!P& /tmpccxq91nO.s!!!$-!!!GNU C 4.3.3/build/buildd/glibc-2.9/csushort int_IO_stdin_usedlong long unsigned intunsigned charinit.cshort unsigned intlong long intp $(.symtab.strtab.shstrtab.interp.note.ABI-tag.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rel.dyn.rel.plt.init.text.fini.rodata.eh_frame.ctors.dtors.jcr.dynamic.got.got.plt.data.bss.comment.debug_aranges.debug_pubnames.debug_info.debug_abbrev.debug_line.debug_str.debug_ranges44#HH 5hh1o880; hhCxxSKo̅BXo`g pp p  ypp0tpp "  ,((,H  OOO  OOO|P `PQ` PQRpPS%uS*UU 0-W+W@X9^#> |g4Hh8hx̅p  p  p (  `  ,:G ]lz   $ 2CY j }   " 0@ `+ p p `  P7 3 G(N d~  : N,]m`ЗU  Py ,p' 9W N[l~ Z   P0 #? Sd@ t  p.    7P>Q U gګ ~0\ t p init.cinitfini.ccrtstuff.c__CTOR_LIST____DTOR_LIST____JCR_LIST____do_global_dtors_auxcompleted.6635dtor_idx.6637frame_dummy__CTOR_END____FRAME_END____JCR_END____do_global_ctors_auxFileInfo.cmain.cretStatusregularsub.cTEMPFILE_PREFIXTEMPFILE_DIRlong_options.3434regularsubErrorEnums.ctokenUtilities.c_GLOBAL_OFFSET_TABLE___init_array_end__init_array_start_DYNAMICdata_startfputs@@GLIBC_2.0openFilefindTokenForvalidRegularExpressionregfree@@GLIBC_2.0__libc_csu_fini_startmakeNewCliOptionsStruct__gmon_start__fileExistsForInput_Jv_RegisterClasses_fp_hwgetNextRegExAndString__printf_chk@@GLIBC_2.3.4_finicalloc@@GLIBC_2.0strncpy@@GLIBC_2.0putchar@@GLIBC_2.0showRegularExpressionCompilerErrorfgets@@GLIBC_2.0regexec@@GLIBC_2.3.4__REGULAR_SUB_VERSION____libc_start_main@@GLIBC_2.0processCliArguments_IO_stdin_usedfree@@GLIBC_2.0optind@@GLIBC_2.0__data_startfflush@@GLIBC_2.0regcomp@@GLIBC_2.0getopt_long@@GLIBC_2.0fclose@@GLIBC_2.1translateStringcreateTempFilewriteOutputFilestrlen@@GLIBC_2.0fopen@@GLIBC_2.1isWhiteSpaceinitCliOptionsStruct__dso_handlefgetc@@GLIBC_2.0strcpy@@GLIBC_2.0__DTOR_END__swapInputFileForTempFile__libc_csu_initregerror@@GLIBC_2.0validOptionsstrstr@@GLIBC_2.0remove@@GLIBC_2.0doRegularSub__bss_startfileSizeFromName__stack_chk_fail@@GLIBC_2.4showErrorRegularSubfputc@@GLIBC_2.0fileSizeFromFIBdestroyCliOptsStructprocessTempFileUsing__ctype_tolower_loc@@GLIBC_2.3_endstdout@@GLIBC_2.0puts@@GLIBC_2.0initOpenFilesusage_IO_putc@@GLIBC_2.0optarg@@GLIBC_2.0cleanUpAndCloseOpenFiles_edatatempnam@@GLIBC_2.0regsqueezeWhiteSpace__i686.get_pc_thunk.bxlineIsCommentmain_init