/ / przekierowanie wyjścia basha find, a następnie pipeline do xargs. - bash, xargs

przekierowanie wyjścia basha find, a następnie pipeline do xargs. - bash, xargs

To jest skrypt, który usunie pliki, jeśliobjętość jest większa niż 85%. Działa dobrze, jednak chciałbym zobaczyć wyjście polecenia find w terminalu i zapisać go również do pliku tymczasowego. Jeśli umieściłem opcję -verbose na końcu polecenia gzip, stanie się ono pełne, ale chciałbym zobaczyć pliki przed zipem, a nie po.

volume="vol10"
mountp="/casper/vol10"
filepath="/casper/vol10/casperfile/"
fileglob="/casper/vol10/casperfile/201*"
filetemp=$(mktemp /tmp/vol10cleanup.XXXXXX)

get_volpercent() {
{ read foo ; read foo; read size used avail prct mountpoint ; } < <(df -k ${mountp}/*)
printf "%sn" "The Percentage of $volume is $prct"
}


cd $filepath

for filerm in execution order ; do
get_volpercent
if [[ "$prct" > "85%" ]] ; then
printf "%sn" "Disk is over 85% full"
printf "%sn" "find $fileglob/$filerm -mtime +10 -type f | xargs gzip "
printf "%sn" "Zipping files"
find $fileglob/$filerm -mtime +10 -type f -print 2>&1 | tee -a $filetemp | xargs gzip
get_volpercent
else
get_volpercent
cat $filetemp
fi
done

Odpowiedzi:

1 dla odpowiedzi № 1

Jak o użyciu /dev/tty do drukowania nazwy pliku na ekranie? GNU Równolegle do radzenia sobie z "brzydkimi" nazwami plików:

    find $fileglob/"$filerm" -mtime +10 -type f -print | tee -a "$filetemp" /dev/tty | parallel gzip