Предположим, что Вы запускаете с /some/dir
.
mkdir -p ./bla/bla/cloud/ # create /some/dir/bla/bla/cloud
cd ./release/ # cd /some/dir/release
cp -rf ./html/ ./bla/bla/cloud/ # copy to /some/dir/release/bla/bla/cloud
По определению относительный путь изменяется при изменении текущего каталога.
Это - по существу то же как Stephane awk
решение, но кодированный в Perl. Это сохранит порядок дат:
perl -ane 'if($.==1){print "$F[0]\t$F[2]\n"; next}
$k{$F[0]}+=$F[2]; $l{$F[0]}++;
END{print "$_\t",$k{$_}/$l{$_},"\n" for (sort keys(%k))}' data
awk 'NR==1{print $1,$3; next}
{v[$1]+=$3;n[$1]++}
END{for (i in n) print i, v[i]/n[i]}'
Порядок не гарантируется. Если сам вход отсортирован по дате, Вы могли бы распечатать, как только дата изменяется:
awk 'NR==1{print $1,$3; next}
{if (n && $1 != l) {print l, v/n; n=0; v=0}
v+=$3; n++; l=$1}
END{if (n) print l, v/n}'
Очень похожий на решение Stephane за исключением того, что это использует в своих интересах awk's GNU PROCINFO["sorted_in"]
осуществлять обход массива в хронологическом порядке.
awk 'BEGIN{PROCINFO["sorted_in"]="@ind_str_asc"};
NR==1{print $1,$3; next};
{arr[$1]+=$3; ++arr2[$1]};
END{for (k in arr) print k, arr[k]/arr2[k]}' test.1 | column -t
-a
переключатель, который был плохо мне знаком – Joseph R. 05.09.2013, 16:16