ls -l filename | awk '{ if($1 ~ "-rw-------") ..... }'
ls -l filename | grep "^-rw------" -c
#!/usr/bin/bash
#showmod
[ $# -eq 0 ] && { echo "Usage: $0 filelist ... "; exit ;}
show()
{
{ [ -d $1 ] && ls -ld $1 ; [ -f $1 ] && ls -la $1 ;} | awk '{
umask=0
umask_=""
for(i=1;i<length($1);i++)
{
if(substr($1,i+1,1)=="r")
umask+=4;
if(substr($1,i+1,1)=="w")
umask+=2;
if(substr($1,i+1,1)=="x")
umask+=1;
if(i%3==0)
{
umask_=sprintf("%s%d",umask_,umask);
umask=0;
}
}
printf("%-20.20s: %-10.10s --> %s
",$9,$1,umask_);
}';
}
for file_dir in $*
do
show $file_dir
done