日期:2014-05-16  浏览次数:20778 次

shell awk 怎么判断一个文件是目录还是普通文件
RT
谢谢

------解决方案--------------------
这个,用不着awk吧,ll然后grep一下,首字母是-就是普通文件,首字母是d就是目录……
------解决方案--------------------
C/C++ code

file filename | awk '{if(/directory$/)print $1 "is dir";else print $1 "is not dir"}'

------解决方案--------------------
linux if语句内判断参数

–b 当file存在并且是块文件时返回真 
-c 当file存在并且是字符文件时返回真 
-d 当pathname存在并且是一个目录时返回真
-e 当pathname指定的文件或目录存在时返回真 
-f 当file存在并且是正规文件时返回真 
-g 当由pathname指定的文件或目录存在并且设置了SGID位时返回为真 
-h 当file存在并且是符号链接文件时返回真,该选项在一些老系统上无效 
-k 当由pathname指定的文件或目录存在并且设置了“粘滞”位时返回真 
-p 当file存在并且是命令管道时返回为真 
-r 当由pathname指定的文件或目录存在并且可读时返回为真 
-s 当file存在文件大小大于0时返回真 
-u 当由pathname指定的文件或目录存在并且设置了SUID位时返回真 
-w 当由pathname指定的文件或目录存在并且可执行时返回真。一个目录为了它的内容被访问必然是可执行的。 
-o 当由pathname指定的文件或目录存在并且被子当前进程的有效用户ID所指定的用户拥有时返回真
------解决方案--------------------
探讨

test -d
test -f