每天从本地复制最新文件(日期=今天)到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_语音文件 cover.csv),我无法找到该列表。

答案1

使用find的-exec指令来处理移动:文件名不会被空格分隔。

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

相关内容