perl -anE '$d ||={map {$_=>$x++} @wd=qw[Mon Tue Wen Thu Fri Sat Sun]}; $F[1] and $v{$F[1]}->[$d->{$F[0]}] = "X" }{ say map{"\t$_"}@wd; say "$_\t",map {"$_\t"}@{$v{$_}} for sort keys %v' ts-data.txt