 
 
 
 
 
 
Re: How can I do a "grep -v" equivalent in Import[]?
- To: mathgroup at smc.vnet.net
- Subject: [mg91849] Re: How can I do a "grep -v" equivalent in Import[]?
- From: David Bailey <dave at Remove_Thisdbailey.co.uk>
- Date: Wed, 10 Sep 2008 05:08:30 -0400 (EDT)
- References: <g9t6mq$j8s$1@smc.vnet.net> <200809081010.GAA27650@smc.vnet.net> <ga5kov$r8g$1@smc.vnet.net>
Jason Ledbetter wrote:
> Valid point:
> This will likely line wrap:
> 
> --snip--
> CPU   NFS  CIFS  HTTP   Total    Net kB/s   Disk kB/s     Tape kB/s Cache
> Cache  CP   CP Disk    FCP iSCSI   FCP  kB/s
>                                  in   out   read  write  read write   age
> hit time  ty util                 in   out
> 24%     0   741     0     767  9381  6144  88815      0     0 81011     9
> 98%   0%  -   31%      0    26     0     0
> --snip--
> 
> I'm trying to avoid importing through a pipe and I'm trying to avoid
> preprocessing the data (for no real reason other than trying to get a handle
> on data processing in Mathematica).
> 
> I've done the following:
> 
> importTemp = Import[ToFileName[Directory[], "input.txt"], {"Lines"}];
> regexMatch = "^\d{2}.*";
> sysstat = StringCases[importTemp, RegularExpression[regexMatch]];
> 
> which gets me ALMOST what I'm looking for.... I end up with the the
> non-matched lines being empty data sets which Part:partw doesn't like.
> 
> e.g. output is like this:
> 
> {{}, {}, {"24"}, {"29"}, ...
> 
> 
> Thank you very much for the replies to date.
> 
> -jbl
> 
I am still not 100% sure I know what you want to do, but assuming you 
want just the first two digits of lines that start with 2 digits,
I am still not 100% sure I know what you want to do, but assuming you 
want just the first two digits of lines that start with 2 digits,
tmp2 = Select[importTemp,
   StringMatchQ[#, DigitCharacter ~~ DigitCharacter ~~ __] &];
Map[StringTake[#, 2] &, tmp2]
Alternatively, you could clean up the output that you have obtained already:
{{}, {}, {"24"}, {"29"}} /. {} :> Sequence @@ {}
With all the new string matching functionality, it is rarely necessary 
to resort to C preprocessing, unless speed is critical (i.e. your input 
file is very big!).
David Bailey
http://www.dbaileyconsultancy.co.uk
- References:
- Re: How can I do a "grep -v" equivalent in Import[]?
- From: David Bailey <dave@Remove_Thisdbailey.co.uk>
 
 
- Re: How can I do a "grep -v" equivalent in Import[]?

