名前にスペースを含め、毎日最新のファイル(日付=今日)をローカルからHDFSにコピーします。

名前にスペースを含め、毎日最新のファイル(日付=今日)をローカルからHDFSにコピーします。

私はローカルフォルダ(/home/gas_uk)に毎日着信ファイルを受け取ります。今日の最新のファイルをローカルからHDFSディレクトリ(/apps/hive/warehouse/gas_uk/)にコピーしたいと思います。私は試した:

find /home/gas_uk -type f -print0 | xargs -0 stat --format '%Y :%y %n' | sort -nr | cut -d ' ' -f5 | cut -d '/' -f7 | head

最新のファイルを探していますが、ファイル名のスペースのためにリストが見つかりません(例:20191010_voice filecover.csv)。

答え1

移動を処理するには、 find-execコマンドを使用します。ファイル名はスペースで区切られません。

find "$srcDir" -type f -mtime 1 -exec echo mv -t "$destDir" {} +
# ....... remove echo if it looks OK: ^^^^

関連情報