私は少なくとも10日以上のhdfsディレクトリとファイルを整理するためにkshスクリプトを書いています。端末で削除コマンドをテストしていますが、これが間違っているというメッセージが表示されます。
$ hdfs dfs -find "/file/path/file" -depth -type d -mtime +10 -exec rm -rf {} \;
find: Unexpected argument: -depth
私は何が間違っていましたか?
ベストアンサー1
このhdfs dfs
コマンドは、Unix と完全に互換性のない特別なシェルで次のコマンドを実行します。利用可能なプログラムのいくつかはUnixプログラムと似ていますが、他のプログラムはそうではありません。このfind
プログラムはその一つです。 HDFSでコマンドが理解する唯一の表現は次のとおりです。
-name pattern
-iname pattern
-print
-print0Always
したがって、残念ながら、あなたが試している式はHDFSシェルでは動作しません。
源泉:Hadoopドキュメント