[R] list files ignoring the case option
Adaikalavan Ramasamy
ramasamy at cancer.org.uk
Thu Nov 4 19:22:43 CET 2004
Thanks to Sundar Dorai-Raj, Prof. Ripley and Berton Gunter for the
solution. I think I will take Prof. Ripley's suggestion and stick with
my initial solution for code readability but I am sure the regexp stuff
will come handy next time.
On Thu, 2004-11-04 at 15:10, Prof Brian Ripley wrote:
> On Thu, 4 Nov 2004, Adaikalavan Ramasamy wrote:
>
> > Sorry if this is a question more on regular expressions. I am dealing
> > with several files which have been badly named. For example the files
> > are given either the extensions txt, TXT or Txt. I wish to select all
> > those files ending with 'txt' ignoring case.
> >
> > Here is how I would do it in bash (Redhat FC2) :
> >
> > touch a1.txt a2.TXT a3.Txt txt.control TXT.control
> > ls -1 | grep -i "txt$"
> >
> >
> > Here is how I am currently doing it in R
> >
> > a <- list.files(all.files=T)
> > grep( "txt$", a, ignore.case=T, value=T )
>
> I'd write that in one line, but it seems as good a way as any.
>
> > Is it possible for me to modify the following line to include ignore
> > case option ?
> >
> > a <- list.files( pattern="txt$" )
>
> Not as such.
>
> First, I think you want "\\.txt$" there if you do mean file extensions.
>
> You can use a regexp that ignores case, though, e.g. "\\.[Tt]{Xx][Tt]".
>
> But I would just use your original idea, which is essentially what ls() is
> doing internally and is self-documenting.
More information about the R-help
mailing list