возможно самое простое решение, но оно не работает с пробелами в именах файлов
scp `ls -t | head -3` user@server:.
Использование xargs имеет то преимущество, что имеет дело с пробелами в именах файлов, но выполнит scp три раза
ls -t | head -3 | xargs -i scp {} user@server:.
решение на основе цикла будет выглядеть следующим образом.Мы используем здесь пока read, потому что в качестве разделителя по умолчанию для чтения используется символ новой строки, а не символ пробела, такой как цикл for
ls -t | head -3 | while read file ; do scp $file user@server ; done
, к сожалению, идеальное решение, которое выполняет одну команду scp, прекрасно работая с белымпространство, ускользает от меня в данный момент.