Один из способов — сначала перенаправить stdout ts, а затем перенаправить stderr конвейера на stdout и передать другомуts
::
*/1 * * * * (/home/user/script.sh | ts "\%H:\%M:\%.S ->" >> /home/user/script.log) 2>&1 | ts "\%H:\%M:\%.S ->" >> /home/user/script.err
(Хотя в этом случае вывод stderr из первого ts
также будет логироваться как второй ts
.)
Цикл for
является менее подробным:
$ shopt -s globstar nullglob dotglob
$ for i in **/*.{sql,conf,py,csv}; do
cp "$i" "scan/$(basename "$i")"
done