Я хочу своевременно перемещать файлы в папке hadoop.
Каталог hadoop содержит 1000 файлов с одинаковым расширением. Я хочу переместить 100 из них каждые 10 минут. Я могу настроить работу cron для перемещения файлов каждые 10 минут, но я не знаю, как указать количество файлов, которые нужно переместить.
hdfs dfs -ls /src/ | tail -100 | xargs hdfs dfs -mv {} / dest/
Любая команда для использования?
Спасибо заранее.
Можно использовать mv как это: mv-t предназначаются для file1 file2 file3...
ls | head -n 100 | xargs mv -t destination
Что относительно того, чтобы использовать сценарий как это:
#!/bin/bash
Source="/where/they/are/now/*"
Destination="/where/they/will/go"
while true; do
count=0
for file in $Source; do
if [ $((count++)) -eq 100 ];then
break
else mv "$file" "$Destination"
fi
done
sleep 10m
done
su "$(logname)"
, например, su "$(logname)" -c 'echo $USER'
– wjandrea
5 November 2017 в 10:32