分页: 1 / 1

如何判断当前目录只有一个文件夹

发表于 : 2008-12-29 22:59
xeoc
如题...以及类似的判断...

Re: 如何判断当前目录只有一个文件夹

发表于 : 2008-12-29 23:21
aerofox
可以

代码: 全选

ls -q | wc -l
结果为 1 就表示只有一个目录项,再判断它是目录就可以了。

Re: 如何判断当前目录只有一个文件夹

发表于 : 2008-12-30 23:59
Dic4000
在终端下运行:

代码: 全选

if test `ls -l|grep ^d| wc -l` -eq 1 ; then echo yes;else echo no;fi
其中数字1就是指一个文件夹,这个数字可以根据你需求变

Re: 如何判断当前目录只有一个文件夹

发表于 : 2008-12-31 8:48
aerofox
把楼上的稍微改一点:

代码: 全选

if [ `ls -Aql|grep ^d| wc -l` -eq 1 ]; then echo yes;else echo no;fi
2楼我贴的也漏了ls的-A,这样如果有隐藏文件将错过了。
-q是为了保证在遇到一些比较怪的文件名时不出错。可以试试:

代码: 全选

mkdir "This is a strange 
directory"

Re: 如何判断当前目录只有一个文件夹

发表于 : 2008-12-31 9:48
eexpress
还不如find

Re: 如何判断当前目录只有一个文件夹

发表于 : 2008-12-31 14:47
goodluck1982
可以试试 lsdir

代码: 全选

lsdir | grep -v '^\.$' |wc -l

Re: 如何判断当前目录只有一个文件夹

发表于 : 2009-01-04 23:23
Dic4000
goodluck1982 写了:可以试试 lsdir

代码: 全选

lsdir | grep -v '^\.$' |wc -l
Ubuntu中没有lsdir这个命令啊~~~~

Re: 如何判断当前目录只有一个文件夹

发表于 : 2009-01-04 23:25
Dic4000
eexpress 写了:还不如find
我听说用find命令,如果数据量大的时候会要些时间的,而且伤硬盘,是这样吗? :em06