私はローカルフォルダ(/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: ^^^^