Re: Shell expansion of * and hidden files

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Jul 23, 2004 at 08:36:59AM -0400, Robert P. J. Day wrote:
> >Robert P. J. Day wrote:
> >>it's a popular puzzle to come up with a glob that matches all
> >>hidden thingies, without matching "." or "..".  and the solution is
> >>...
> >>
> >>$ echo .[!.]*
> 
> the puzzle would be to try to come up with a *single* RE that would 
> work in all cases.  anyone?  anyone?  beuller?

Try this....

    $ pwd
    /tmp/g1
    $ tar -cvf  /tmp/tball ../g1
    tar: Member names contain `..'	## this is a warning 
    --- snip ---
    $ tar -xPvf /tmp/tball		## -P because of warning.
    ../g1/
    ../g1/.a
    --- snip ---

or  use "find . " to generate the file list.

A better solution is to cd ../
    $ pwd
    /tmp/g1
    $ cd ..
    $ tar -cvf  /tmp/tball g1

By design * will not match dot files.  Consider the damage that 
"rm -r * " would do if * included ../ !!!!  We expect recursion 
to go down not both ways.

It can get very tangled.  Study the man page for your
shell of choice with care.  This is from "man bash":
 
       "The GLOBIGNORE shell variable may be used to restrict the set
       of file names matching a pattern.  If GLOBIGNORE is set, each
       matching file name that also matches one of the patterns in
       GLOBIGNORE is removed from the list of matches.  The file names 
       ââ.ââ and ââ..ââ are always ignored, even when
       GLOBIGNORE is set.  However, setting GLOBIGNORE has the effect
       of enabling the dotglob shell option, so all other file names
       beginning with a ââ.ââ will match.  To get the old behavior
       of ignoring file names beginning with a ââ.ââ, make ââ.*ââ 
       one of the patterns in GLOBIGNORE.  The dotglob option is
       disabled when GLOBIGNORE is unset."


-- 
	T o m  M i t c h e l l 
	/dev/dull where insight begins.



[Index of Archives]     [Current Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]     [Fedora Docs]

  Powered by Linux