FWIW I've just tried out every possibility that has been suggested by everyone so far. Some of them work as expected, some of them don't. There does appear to be a certain amount of weirdness going on, though less than Freddy is getting. /tmp/m was a file containing all the suggestions, one per line /tmp/n was the output file /tmp/x was a directory containing some example files and directories Bash version: GNU bash, version 2.05a.0(1)-release (i386-pc-linux-gnu) Copyright 2001 Free Software Foundation, Inc. Kernel: Linux schnellbox 2.6.6 #1 Sun Dec 12 01:10:00 GMT 2004 i686 GNU/Linux To run all the suggestions without running into quoting hassles, I did, from within /tmp/x: nn=`cat ../m | wc -l`; for x in `seq 1 $nn`; do head -$x ../m | tail -1 > ../cmd; chmod a+x ../cmd; cat ../cmd >> ../n; bash --norc --noprofile -c ../cmd >> ../n; echo ====================== >> ../n; done I added a plain 'ls -al' to the start of the suggestions file to show the full listing of /tmp/x. The suggestions: ls -al ls -al | grep -v ' \.\<[a-zA-Z0-9].*\>' # returns everything ls -al | grep -e '\<[^.][[:alnum:]]' # returns everything ls -al | grep -e '\<[.][[:alnum:]]' # returns an empty set ls -al | grep -v ' \.' find -maxdepth 1 |grep -v "^\./\." ls -a | grep -v '^\.' ls -al | egrep "\B\." ls -a1 | egrep -v '^\.' ls -la | egrep ':[[:digit:]]{2} [^.]' ls -la | awk '$8 ~ /^[^.]/{print}' ls -la | awk '{ if (substr($9,0,1) != ".") {print $9}}' ls -al | grep -e ^d | grep -e '[.][a-z]' ls -al | grep -e ^d | grep -e '[^.][a-z]' ls -al | grep -e ^d | grep -e ':[0-9][0-9] [^\.][a-zA-Z]' ls -al | grep -e ^d | grep -e '\<[^.][a-z]' ls -la | grep -v -w "\..*" The results: ls -al total 32 drwxr-xr-x 6 pigeon pigeon 4096 Feb 18 19:05 . drwxrwxrwt 3 root root 12288 Feb 18 19:27 .. drwxr-xr-x 2 pigeon pigeon 4096 Feb 18 19:04 .hiddendir1 drwxr-xr-x 2 pigeon pigeon 4096 Feb 18 19:05 .hiddendir2.dir -rw-r--r-- 1 pigeon pigeon 0 Feb 18 19:04 .hiddenfile1 -rw-r--r-- 1 pigeon pigeon 0 Feb 18 19:04 .hiddenfile2.txt drwxr-xr-x 2 pigeon pigeon 4096 Feb 18 19:04 dir1 drwxr-xr-x 2 pigeon pigeon 4096 Feb 18 19:04 dir2.dir -rw-r--r-- 1 pigeon pigeon 0 Feb 18 19:04 file1 -rw-r--r-- 1 pigeon pigeon 0 Feb 18 19:04 file2.txt ====================== ls -al | grep -v ' \.\<[a-zA-Z0-9].*\>' # returns everything total 32 drwxr-xr-x 6 pigeon pigeon 4096 Feb 18 19:05 . drwxrwxrwt 3 root root 12288 Feb 18 19:27 .. drwxr-xr-x 2 pigeon pigeon 4096 Feb 18 19:04 dir1 drwxr-xr-x 2 pigeon pigeon 4096 Feb 18 19:04 dir2.dir -rw-r--r-- 1 pigeon pigeon 0 Feb 18 19:04 file1 -rw-r--r-- 1 pigeon pigeon 0 Feb 18 19:04 file2.txt ====================== ls -al | grep -e '\<[^.][[:alnum:]]' # returns everything total 32 drwxr-xr-x 6 pigeon pigeon 4096 Feb 18 19:05 . drwxrwxrwt 3 root root 12288 Feb 18 19:27 .. drwxr-xr-x 2 pigeon pigeon 4096 Feb 18 19:04 .hiddendir1 drwxr-xr-x 2 pigeon pigeon 4096 Feb 18 19:05 .hiddendir2.dir -rw-r--r-- 1 pigeon pigeon 0 Feb 18 19:04 .hiddenfile1 -rw-r--r-- 1 pigeon pigeon 0 Feb 18 19:04 .hiddenfile2.txt drwxr-xr-x 2 pigeon pigeon 4096 Feb 18 19:04 dir1 drwxr-xr-x 2 pigeon pigeon 4096 Feb 18 19:04 dir2.dir -rw-r--r-- 1 pigeon pigeon 0 Feb 18 19:04 file1 -rw-r--r-- 1 pigeon pigeon 0 Feb 18 19:04 file2.txt ====================== ls -al | grep -e '\<[.][[:alnum:]]' # returns an empty set ====================== ls -al | grep -v ' \.' total 32 drwxr-xr-x 2 pigeon pigeon 4096 Feb 18 19:04 dir1 drwxr-xr-x 2 pigeon pigeon 4096 Feb 18 19:04 dir2.dir -rw-r--r-- 1 pigeon pigeon 0 Feb 18 19:04 file1 -rw-r--r-- 1 pigeon pigeon 0 Feb 18 19:04 file2.txt ====================== find -maxdepth 1 |grep -v "^\./\." . ./file1 ./file2.txt ./dir1 ./dir2.dir ====================== ls -a | grep -v '^\.' dir1 dir2.dir file1 file2.txt ====================== ls -al | egrep "\B\." drwxr-xr-x 6 pigeon pigeon 4096 Feb 18 19:05 . drwxrwxrwt 3 root root 12288 Feb 18 19:27 .. drwxr-xr-x 2 pigeon pigeon 4096 Feb 18 19:04 .hiddendir1 drwxr-xr-x 2 pigeon pigeon 4096 Feb 18 19:05 .hiddendir2.dir -rw-r--r-- 1 pigeon pigeon 0 Feb 18 19:04 .hiddenfile1 -rw-r--r-- 1 pigeon pigeon 0 Feb 18 19:04 .hiddenfile2.txt ====================== ls -a1 | egrep -v '^\.' dir1 dir2.dir file1 file2.txt ====================== ls -la | egrep ':[[:digit:]]{2} [^.]' drwxr-xr-x 2 pigeon pigeon 4096 Feb 18 19:04 dir1 drwxr-xr-x 2 pigeon pigeon 4096 Feb 18 19:04 dir2.dir -rw-r--r-- 1 pigeon pigeon 0 Feb 18 19:04 file1 -rw-r--r-- 1 pigeon pigeon 0 Feb 18 19:04 file2.txt ====================== ls -la | awk '$8 ~ /^[^.]/{print}' drwxr-xr-x 6 pigeon pigeon 4096 Feb 18 19:05 . drwxrwxrwt 3 root root 12288 Feb 18 19:27 .. drwxr-xr-x 2 pigeon pigeon 4096 Feb 18 19:04 .hiddendir1 drwxr-xr-x 2 pigeon pigeon 4096 Feb 18 19:05 .hiddendir2.dir -rw-r--r-- 1 pigeon pigeon 0 Feb 18 19:04 .hiddenfile1 -rw-r--r-- 1 pigeon pigeon 0 Feb 18 19:04 .hiddenfile2.txt drwxr-xr-x 2 pigeon pigeon 4096 Feb 18 19:04 dir1 drwxr-xr-x 2 pigeon pigeon 4096 Feb 18 19:04 dir2.dir -rw-r--r-- 1 pigeon pigeon 0 Feb 18 19:04 file1 -rw-r--r-- 1 pigeon pigeon 0 Feb 18 19:04 file2.txt ====================== ls -la | awk '{ if (substr($9,0,1) != ".") {print $9}}' . .. .hiddendir1 .hiddendir2.dir .hiddenfile1 .hiddenfile2.txt dir1 dir2.dir file1 file2.txt ====================== ls -al | grep -e ^d | grep -e '[.][a-z]' drwxr-xr-x 2 pigeon pigeon 4096 Feb 18 19:04 .hiddendir1 drwxr-xr-x 2 pigeon pigeon 4096 Feb 18 19:05 .hiddendir2.dir drwxr-xr-x 2 pigeon pigeon 4096 Feb 18 19:04 dir2.dir ====================== ls -al | grep -e ^d | grep -e '[^.][a-z]' drwxr-xr-x 6 pigeon pigeon 4096 Feb 18 19:05 . drwxrwxrwt 3 root root 12288 Feb 18 19:27 .. drwxr-xr-x 2 pigeon pigeon 4096 Feb 18 19:04 .hiddendir1 drwxr-xr-x 2 pigeon pigeon 4096 Feb 18 19:05 .hiddendir2.dir drwxr-xr-x 2 pigeon pigeon 4096 Feb 18 19:04 dir1 drwxr-xr-x 2 pigeon pigeon 4096 Feb 18 19:04 dir2.dir ====================== ls -al | grep -e ^d | grep -e ':[0-9][0-9] [^\.][a-zA-Z]' drwxr-xr-x 2 pigeon pigeon 4096 Feb 18 19:04 dir1 drwxr-xr-x 2 pigeon pigeon 4096 Feb 18 19:04 dir2.dir ====================== ls -al | grep -e ^d | grep -e '\<[^.][a-z]' drwxr-xr-x 6 pigeon pigeon 4096 Feb 18 19:05 . drwxrwxrwt 3 root root 12288 Feb 18 19:27 .. drwxr-xr-x 2 pigeon pigeon 4096 Feb 18 19:04 .hiddendir1 drwxr-xr-x 2 pigeon pigeon 4096 Feb 18 19:05 .hiddendir2.dir drwxr-xr-x 2 pigeon pigeon 4096 Feb 18 19:04 dir1 drwxr-xr-x 2 pigeon pigeon 4096 Feb 18 19:04 dir2.dir ====================== ls -la | grep -v -w "\..*" total 32 drwxr-xr-x 2 pigeon pigeon 4096 Feb 18 19:04 dir1 drwxr-xr-x 2 pigeon pigeon 4096 Feb 18 19:04 dir2.dir -rw-r--r-- 1 pigeon pigeon 0 Feb 18 19:04 file1 -rw-r--r-- 1 pigeon pigeon 0 Feb 18 19:04 file2.txt ====================== -- Pigeon Be kind to pigeons Get my GPG key here: http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x21C61F7F
Attachment:
signature.asc
Description: Digital signature