Home Resources Forum Advertise Contact

Go Back   Webmaster Forums > Operating Sysems and Hardware > On Unix/Linux OS

On Unix/Linux OS Discuss about the Linux OS and its variants regarding updates, issues and troubleshooting techniques here.

Reply
 
LinkBack Thread Tools
  #1 (permalink)  
Old 8th January 2007, 09:36 AM
hassen1 hassen1 is offline
WD Addict Poster
 
Join Date: 29th October 2006
Posts: 2,603
Send a message via Yahoo to hassen1
Default How do I construct a shell glob-pattern that matches all files except "." and ".." ?

You'd think this would be easy.

* Matches all files that don't begin with a ".";

.* Matches all files that do begin with a ".", but
this includes the special entries "." and "..",
which often you don't want;

.[!.]* (Newer shells only; some shells use a "^" instead of
the "!"; POSIX shells must accept the "!", but may
accept a "^" as well; all portable applications shall
not use an unquoted "^" immediately following the "[")

Matches all files that begin with a "." and are
followed by a non-"."; unfortunately this will miss
"..foo";

.??* Matches files that begin with a "." and which are
at least 3 characters long. This neatly avoids
"." and "..", but also misses ".a" .

So to match all files except "." and ".." safely you have to use
3 patterns (if you don't have filenames like ".a" you can leave
out the first):

.[!.]* .??* *

Alternatively you could employ an external program or two and use
backquote substitution. This is pretty good:

`ls -a | sed -e '/^\.$/d' -e '/^\.\.$/d'`

(or `ls -A` in some Unix versions)

but even it will mess up on files with newlines, IFS characters
or wildcards in their names.
Reply With Quote
Reply



Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


All times are GMT -4. The time now is 03:02 PM.


Powered by vBulletin
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.0.0 RC6
vB Ad Management by =RedTyger=