이름에 공백을 포함하여 매일 최신 파일(날짜=오늘)을 로컬에서 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: ^^^^

관련 정보