Мне нужно проверить, нет ли двух файлов пустым. Если они есть, напишите «-999» в файл, иначе запустите среднее число в файле.Если файл пуст, напишите текст на первую строку
Здесь кодирование я пытался использовать:
Код:
if [[ ! -z file1 ]] || [[ ! -z file2 ]]
then
echo "-999" > file_avg
else
cat file1 >> tmp
cat file2 tmp > file_all
cat file_all | awk 'BEGIN {c = 0; sum = 0;} $1 ~ /^[0-9]*(\.[0-9]*)?$/
{a[c++] = $1; sum += $1;} END {avg = sum/c; if((c % 2) == 1) {median = a[ int(c/2) ];}
else {median = (a[c/2] + a[c/2-1])/2;} OFS="\t"; print avg;}' file_all
> file_avg
fi
Содержание file_all:
76
76
78
79
75
76
77
78
76