Você pode escrever um script chamado ~/bin/ls
que deve substituir /bin/ls
. lembre-se de executar chmod +x ~/bin/ls
.
Acabei de escrever isso, o que parece fazer a maior parte do que você deseja realizar (incluindo passar argumentos extras)
#!/bin/bash
DIRS="'/bin/ls --color=auto -l $@ | grep ^d'"
FILES="'/bin/ls --color=auto -l $@ | grep ^\-'"
if [ "$DIRS" ]
then
echo "DIRECTORIES"
echo -e "$DIRS\
"
fi
if [ "$FILES" ]
then
echo "FILES"
echo "$FILES\
"
fi
Alguém pode querer arrumar isso um pouco ou melhorar a formatação da saída, mas lá vai você. Seu para fazer o que quiser com.
E aqui está uma saída de amostra genuína:
ls
DIRECTORIES
drwxr-xr-x 4 oli oli 4096 2010-12-16 15:40 markitup
drwxr-xr-x 7 oli oli 4096 2011-01-16 16:58 media
drwxr-xr-x 3 oli oli 4096 2010-12-16 15:41 post
drwxr-xr-x 9 oli oli 4096 2010-09-16 05:23 templates
FILES
-rw-r--r-- 1 oli oli 5361664 2010-09-06 16:32 db.db
-rw-r--r-- 1 oli oli 0 2008-12-11 09:22 __init__.py
-rwxr-xr-x 1 oli oli 542 2008-12-11 09:22 manage.py
-rw-r--r-- 1 oli oli 13 2010-03-23 18:14 settingsdev.py
-rw-r--r-- 1 oli oli 2642 2010-12-16 15:40 settings.py
-rw-r--r-- 1 oli oli 1818 2010-12-16 15:40 urls.py
-rw-r--r-- 1 oli oli 432 2010-06-22 20:54 views.py
E com argumentos:
ls -a
DIRECTORIES
drwxr-xr-x 8 oli oli 4096 2011-01-12 00:46 .
drwxr-xr-x 19 oli oli 4096 2011-04-13 17:24 ..
drwxr-xr-x 6 oli oli 4096 2010-02-03 13:50 .bzr
drwxr-xr-x 4 oli oli 4096 2010-12-16 15:40 markitup
drwxr-xr-x 7 oli oli 4096 2011-01-16 16:58 media
drwxr-xr-x 3 oli oli 4096 2010-12-16 15:41 post
drwxr-xr-x 9 oli oli 4096 2010-09-16 05:23 templates
FILES
-rw-r--r-- 1 oli oli 65 2010-03-27 07:58 .bzrignore
-rw-r--r-- 1 oli oli 5361664 2010-09-06 16:32 db.db
-rw-r--r-- 1 oli oli 0 2008-12-11 09:22 __init__.py
-rwxr-xr-x 1 oli oli 542 2008-12-11 09:22 manage.py
-rw-r--r-- 1 oli oli 13 2010-03-23 18:14 settingsdev.py
-rw-r--r-- 1 oli oli 2642 2010-12-16 15:40 settings.py
-rw-r--r-- 1 oli oli 1818 2010-12-16 15:40 urls.py
-rw-r--r-- 1 oli oli 432 2010-06-22 20:54 views.py