hdfs如何查找指定目录是否文件_在shell中如何判断HDFS中的文件目录是否存在
原標題:在shell中如何判斷HDFS中的文件目錄是否存在
在Linux文件系統中,我們可以使用下面的Shell腳本判斷某個文件是否存在:
# 這里的-f參數判斷$file是否存在
if[ ! -f "$file"]; then
echo"文件不存在!"
fi
但是我們想判斷HDFS上某個文件是否存在咋辦呢?別急,Hadoop內置提供了判斷某個文件是否存在的命令:
[iteblog@www.iteblog.com ~]$ 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@www.iteblog.com ~]$ hadoop fs -test -e /path/ not/exist
[iteblog@www.iteblog.com ~]$ echo $?
1
[iteblog@www.iteblog.com ~]$ hadoop fs -test -e /path/exist
[iteblog@www.iteblog.com ~]$ 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中的文件目录是否存在的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 下列python语言、返回结果不是uc_
- 下一篇: 苹果严格限制USBC接口:未经许可 不能