�&ǐk�@'bJ�h�ۊL'}T� :��'2�Z#$��n�a��� �>a��`��_3d�Qpt�/�P -��#5�,�M��� �pA:©�q�����NW��ډ�A���� �9nʺج���� �TSM��{J6?7��r�@�\����D��� �׶���s�f�TJj?"��D��`?��̒� b�#�%�C*v�$�{�$����5Ծ�F�s��y�e/8��h-�f�̰&(����Gj�L:U� 2�� ����v�_k����Y��gp,�k�WF�R������_C�R��N@���R�@�ߔ?A�w9���F("iNa-S���Q�o�3tDMLh*�#4k�T/iQ��Y*�G��m����)��8�hBm/�I�,g�ﯖ���Z��}�Cz�q@´��d.����L�ŕ�,��1�Z�܌�: ̪���F+J-'��c�tvJ8��]Q-��b��y �6;*J`r_�d ��'�G ~p��)'�C,�%F��E(��2�k�����lР�z�!�=t ��_�0��f7��� ;�p�|�U �%&2 exit 1 elif [ "$1" = '--help' ] || [ "$1" = '-h' ]; then show_usage exit 0 fi logfile=$1 iterate_logfiles() { local file suffix for file in "$logfile".*; do [ -f "$file" ] || continue suffix=${file#"$logfile".} [ "$suffix" -gt 0 ] 2> /dev/null || continue "$@" "$suffix" "$file" done } max_suffix_length=0 process_suffix() { local suffix len suffix="$1"; shift len=${#suffix} if [ $len -gt $max_suffix_length ]; then max_suffix_length=$len fi } process_logfile() { local suffix file pid suffix="$1"; shift file="$1"; shift pid=$(printf "%-*s" $max_suffix_length $suffix) # Some strace logs have last line which is not '\n' terminated, # so add extra newline to every file. # Empty lines are removed later. sed -n "s/^\($dd:\)\?\($dd:\)\?\($ds\.\)\?$ds /\2\4\6\7 $pid \0/p" < "$file" echo } iterate_logfiles process_suffix [ $max_suffix_length -gt 0 ] || { echo >&2 "${0##*/}: $logfile: strace output not found" exit 1 } iterate_logfiles process_logfile | sort -s -n -k1,1 | sed -n 's/^[0-9][0-9]* //p' | grep -v '^$' rc=$? [ $rc -eq 1 ] && echo >&2 "${0##*/}: $logfile.* files do not look like log files produced by 'strace -tt'" exit $rc