xargs
transforma a entrada em argumentos. A opção -I
especifica a sequência a ser usada como um espaço reservado para o argumento. Portanto, se o pipeline produzir algo como
file1
file2
a linha xargs
transforma isso em
cp -p file1 ../htory2/somefile.CSV
cp -p file2 ../htory2/somefile.CSV
O head -1
retorna apenas uma linha, por isso não vejo nenhum benefício real de usar xargs
em vez de, digamos
cp -p "$(ls -t1 ../htory/$filename* | head -1)" ../htory2/somefile.CSV
Além disso, como o arquivo de destino é sempre o mesmo, ele será sobregravado pelo último arquivo em ${files[@]}
.