糖尿病康复,内容丰富有趣,生活中的好帮手!
糖尿病康复 > hdfs如何查找指定目录是否文件_在shell中如何判断HDFS中的文件目录是否存在

hdfs如何查找指定目录是否文件_在shell中如何判断HDFS中的文件目录是否存在

时间:2020-10-30 11:39:09

相关推荐

hdfs如何查找指定目录是否文件_在shell中如何判断HDFS中的文件目录是否存在

原标题:在shell中如何判断HDFS中的文件目录是否存在

在Linux文件系统中,我们可以使用下面的Shell脚本判断某个文件是否存在:

# 这里的-f参数判断$file是否存在

if[ ! -f "$file"]; then

echo"文件不存在!"

fi

但是我们想判断HDFS上某个文件是否存在咋办呢?别急,Hadoop内置提供了判断某个文件是否存在的命令:

[iteblog@ ~]$ hadoop fs - help

......

- test-[defsz] < path>:Answer various questions about < path>, withresultvia exitstatus.

-d return0if< path> isa directory.

-e return0if< path> exists.

-f return0if< path> isa file.

-s return0iffile< path> isgreater thanzero bytesinsize.

-z return0iffile< path> iszero bytesinsize.

else, return1.

......

从上面的输出可以看出,我们可以使用test命令来判断某个文件是否存在。如果文件存在,这个命令将返回0;反之则返回1。

[iteblog@ ~]$ hadoop fs -test -e /path/ not/exist

[iteblog@ ~]$ echo $?

1

[iteblog@ ~]$ hadoop fs -test -e /path/exist

[iteblog@ ~]$ echo $?

0

所以我们可以在Shell里面判断HDFS上某个文件是否存在:

hadoop fs - test-d /path/exist

if[ $? -eq 0 ] ; then

echo'Is a directory'

else

echo'Is not a directory'

fi

hadoop fs - test-f /path/exist

if[ $? -eq 0 ] ; then

echo'Is a file'

else

echo'Is not a file'

fi

hadoop fs - test-s /path/exist

if[ $? -eq 0 ] ; then

echo'Is greater than zero bytes in size'

else

echo'Is not greater than zero bytes in size'

fi

hadoop fs - test-z /path/exist

if[ $? -eq 0 ] ; then

echo'Is zero bytes in size.'

else

echo'Is not zero bytes in size. '

责任编辑:

如果觉得《hdfs如何查找指定目录是否文件_在shell中如何判断HDFS中的文件目录是否存在》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。